值参数更改为0

时间:2014-02-27 05:24:19

标签: mysql vb.net null

我想根据所需用户的值显示数据,我尝试使用包含输入值的参数。当我运行程序数据时无法执行。我正在尝试找到我的错误位置代码,通过检查limit_kar的值来保存用户输入的结果是输入的相应结果的内容,当 limit_kar 值存储到参数改为0,我想我的代码中有很多错误,请提示这个问题可以解决

我正在使用VS 2008和mysql

谢谢

新手

这是我的代码

 Public Function Tampil_Stock(ByVal limit_kar As Integer) As List(Of Class_stock)
    Dim tmpBaca As New List(Of Class_stock)
    Dim cmd As New MySqlCommand
    Dim dreader As MySqlDataReader
    Dim ds As New DataSet
    Dim sql As String
    sql = "SELECT NoReg,status_kartu FROM tb_stock WHERE status= '0' and status_kartu= '0' ORDER BY NoReg ASC Limit ?fn "
    cmd = New MySqlCommand(sql, myconnection.open)
    cmd.Parameters.Add(New MySqlParameter("?fn", MySqlDbType.Int64)).Value = **limit_kar**
    dreader = cmd.ExecuteReader
    If dreader.HasRows Then
        While dreader.Read
            Dim objTemp As New Class_stock
            objTemp.NoReg_ = dreader.Item("NoReg")
            'objTemp.NoPin_ = dreader.Item("NoPin")
            'objTemp.status_ = dreader.Item("status")
            objTemp.status_kartu_ = dreader.Item("status_kartu")
            tmpBaca.Add(objTemp)
        End While
    Else
        MsgBox("Not Found")
    End If
    myconnection.close()
    Return tmpBaca
    'dreader.Close()
End Function

1 个答案:

答案 0 :(得分:0)

参数声明的语法不正确。请看这里的示例:http://www.devart.com/dotconnect/mysql/docs/Parameters.html

cmd.Parameters.Add(New MySqlParameter("?fn", MySqlDbType.Int64)).Value = limit_kar

这对我来说很奇怪。不应该添加值作为参数?什么是“?fn”? Add确实会返回新的MysqlParameter实例吗?

以下是文档中的示例。我仍然不明白你使用?fn的原因以及为什么你明确地将类型声明为MySqlDbType.Int64

sql = "SELECT NoReg,status_kartu FROM tb_stock WHERE status= '0' and status_kartu= '0' ORDER BY NoReg ASC Limit ?"
cmd = New MySqlCommand(sql, myconnection.open)
cmd.Parameters.Add("limit_kar", limit_kar)