2015-10-10 44 views
-2

我有一个令我疯狂的问题!Mysql查询返回空值和0结果

query = "SELECT Formula FROM filterPrice where idCode='" & txtCodigo.Text & "' and (FilterData<='" & cant & "')" 
Dim selectCommand As New MySqlCommand(query, Conexion.conn) 

     priceSelected = Conversions.ToString(selectCommand.ExecuteScalar()) 
     Conexion.Desconecta() 
     Conexion.conn.Dispose() 

但这个返回什么都没有,任何提示?

+0

如果我删除所有后AND它工作fie并返回一个值,但我不知道为什么完整的查询不起作用 –

+0

请参阅[SQL注入](http://stackoverflow.com/questions/601300/what-is- SQL注入)第一 – Mahadev

+0

你尝试和使用断点来检查,如果你是正确的值或不查询,你有相关的数据在db?任何具体的错误 – Mahadev

回答

2

这是使用参数化的查询数据检索一个详细的例子:

Dim con as new MySQLConnection("Data Source=<server name>;Initial Catalog=<Db Name>; Integrated Security=True;") 
Dim cmdSelectData as new MySQLCommand("SELECT Formula FROM filterPrice where [email protected] and FilterData<[email protected]", con) 
cmdSelectData.Parameters.AddWithValue("@IdCode", txtCodigo.Text) 
cmdSelectData.Parameters.AddWithValue("@Cant", cant) 
If not con.State=ConnectionState.Open then con.open() 
priceSelected=cmdSelectData.ExecuteScalar() 
con.Close() 

这是与数据库更安全的方式。希望能帮助到你。