Visual Basic从mysql表获取数据
我正试图从表中获取一些数据,并得到错误:“无效的对象名‘h’”。我的代码是Visual Basic从mysql表获取数据,mysql,vb.net,visual-studio-2010,Mysql,Vb.net,Visual Studio 2010,我正试图从表中获取一些数据,并得到错误:“无效的对象名‘h’”。我的代码是 Dim h为十进制 “一些代码 cmd2=New-SqlCommand(“插入到h中,从dbo.Utakmice中选择KvotaX,其中ID=@s1”,conn) cmd2.Parameters.AddWithValue(“@s1”,myReader.GetInt32(1)) “一些代码 f=cmd2.ExecuteOnQuery() 我不知道我做错了什么。dbo.Utakmice数据类型中的KvotaX是实值。您尝试
Dim h为十进制
“一些代码
cmd2=New-SqlCommand(“插入到h中,从dbo.Utakmice中选择KvotaX,其中ID=@s1”,conn)
cmd2.Parameters.AddWithValue(“@s1”,myReader.GetInt32(1))
“一些代码
f=cmd2.ExecuteOnQuery()
我不知道我做错了什么。dbo.Utakmice数据类型中的KvotaX是实值。您尝试使用sql语句设置h的值。这是不对的
Dim h As Decimal
cmd2 = New SqlCommand("select KvotaX from dbo.Utakmice where ID=@s1 ", conn)
cmd2.Parameters.AddWithValue("@s1", myReader.GetInt32(1))
h = Convert.ToDecimal(cmd2.ExecuteScalar)
选择与传入参数对应的记录,然后读取ExecuteScalar方法的返回值。请注意,仅当查询返回一条记录和一列时,此操作才有效。最好在分配给小数之前安全地检查返回值
Dim o = cmd2.ExecuteScalar
if o IsNot Nothing Then
h = Convert.ToDecimal(o)
.....
End If
但是,您的代码暗示了一个事实,即您正试图从打开的MySqlDataReader获取s1参数的值。这是不可能的,因为通常情况下,在datareader保持打开状态之前,datareader使用的连接一直处于繁忙状态。如果您只是尝试获取数据,我认为您不希望将插入h
删除这个短语,看看你是否得到了你想要的。表h确实存在吗?这是一个好迹象。这意味着您成功连接到数据库并提交了查询,并且能够处理来自数据库服务器的响应。很多事情已经做对了。现在,您的数据库中有一个名为“h”的表吗?实际上,h是十进制变量。我正在尝试将数据提取到变量中。声明是代码的第一行。它工作正常。我的MySqlDataReader连接没有问题。可能是因为我有MultipleActiveResultSets=true;在连接字符串中。很高兴知道,我只是在搜索该键是否对MySql也有效。