值参数更改为0
我想根据所需用户的值显示数据,我尝试使用包含输入值的参数。当我运行程序时数据无法执行。我试图找到我的故障位置代码,通过检查保存来自用户输入结果的limit_kar的值是输入的相应结果的内容,当存储到参数中的limit_kar值更改为0时,我想了很多错误,在我的代码,请提示问题这个可以我使用VS 2008和MySQL解决值参数更改为0
谢谢
新手
这是mycode的
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
您的参数声明的语法不正确。看看这里的例子: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)
代码应该怎么我用,可给一个线索? – user2453977
我从来没有使用过这个,所以我只是从doc示例中推断出上述内容。 –
** ** limit_kar变化总是0 – user2453977
认沽断点在此行'公共功能Tampil_Stock(BYVAL limit_kar为整数)作为目录(中Class_stock)'和检查值 –