【问题标题】:Mysql query returning null value and 0 resultsMysql查询返回空值和0个结果
【发布时间】:2015-10-10 10:04:01
【问题描述】:

我有一个问题让我发疯!

    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()

但这什么也没返回,有什么提示吗?

【问题讨论】:

  • 如果我删除所有之后它可以工作并返回一个值,但我不知道为什么完整的查询不起作用
  • 您是否尝试使用断点来检查您是否是正确的值或不查询并且您在 db 中有相关数据?任何特定错误
  • 没有错误,什么都不给,变量 priceselected 保持为空
  • @SankarRaj :这只是一个建议,但请使用Parameterised queriesStored Procedures 以获得安全性和更好的性能。

标签: mysql vb.net winforms


【解决方案1】:

这是使用参数化查询进行数据检索的详细示例:

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 idCode=@IdCode and FilterData<=@Cant", 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()

这是一种更安全的数据库方式。希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-01
    • 2019-10-09
    • 2012-10-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-20
    相关资源
    最近更新 更多