Database 在VB.net上如何将数据库中的数据导入文本框
嗨,我是Visual basic新手。我有一个按钮,当它点击时,它会通过用户输入的ID找到学生,并将数据输出到文本字段。我不太确定我是否做对了。因为我得到了这个错误[image]>> 顺便说一句,这是我到目前为止的代码。有人能帮我吗?谢谢Database 在VB.net上如何将数据库中的数据导入文本框,database,vb.net,Database,Vb.net,嗨,我是Visual basic新手。我有一个按钮,当它点击时,它会通过用户输入的ID找到学生,并将数据输出到文本字段。我不太确定我是否做对了。因为我得到了这个错误[image]>> 顺便说一句,这是我到目前为止的代码。有人能帮我吗?谢谢 cmd.CommandText = "Select * from Student where Student_id = '" & id.Text & "'" cmd.Connection = db
cmd.CommandText = "Select * from Student where Student_id = '" & id.Text & "'"
cmd.Connection = db
dr = cmd.ExecuteReader
Try
dr.Read()
id.Text = dr.GetValue(0)
Lname.Text = dr.GetValue(1)
Fname.Text = dr.GetValue(2)
Mname.Text = dr.GetValue(3)
datet.Text = dr.GetValue(4)
age.Text = dr.GetValue(5)
male.Text = dr.GetValue(6)
female.Text = dr.GetValue(7)
status.Text = dr.GetValue(8)
staddress.Text = dr.GetValue(9)
cityAdd.Text = dr.GetValue(10)
dr.Close()
Catch ex As Exception
MsgBox("" + ex.Message)
dr.Close()
End Try
改为:
if IsNumeric(id.text) Then
cmd.CommandText = "Select * from student where Student_id=@p1"
cmd.Prepare
cmd.Parameters.AddWithValue("@p1", id.text)
dr = cmd.ExecuteReader
....
Else
Exit Sub
End If
你可以这样做,或者
dr = cmd.ExecuteReader
Try
with dr
.Read()
id.Text = .GetValue(0)
end with
dr.Close()
或
更容易阅读
改为:
if IsNumeric(id.text) Then
cmd.CommandText = "Select * from student where Student_id=@p1"
cmd.Prepare
cmd.Parameters.AddWithValue("@p1", id.text)
dr = cmd.ExecuteReader
....
Else
Exit Sub
End If
你可以这样做,或者
dr = cmd.ExecuteReader
Try
with dr
.Read()
id.Text = .GetValue(0)
end with
dr.Close()
或
更易于阅读……如果您使用的是MySQL数据库,请首先添加一个引用 打赌吧。班级
Dim Connection As MySqlConnection
Dim command As MySqlCommand
把这个放到你的文本框里
Connection = New MySqlConnection
Connection.ConnectionString = "Server=localhost;port=3306;userid=root;password=root;database=databasename"
Dim reader As MySqlDataReader
根是默认的
Try
Connection.Open()
Dim query As String
query= "Select * from Databasename.tablename where fieldname='" & textbox1.text & "'"
Command = New MySqlCommand(query, Connection)
reader = Command.ExecuteReader
While reader.Read
Dim sname As String
sname = reader.GetString("Fieldname")
textbox1.Items.Add(sname)
End While
Connection.Close()
Catch e MySqlException
MsgBox (ex.Message)
Finally
Connection.Dispose
End Try
如果您使用的是MySQL数据库,首先添加一个引用 打赌吧。班级
Dim Connection As MySqlConnection
Dim command As MySqlCommand
把这个放到你的文本框里
Connection = New MySqlConnection
Connection.ConnectionString = "Server=localhost;port=3306;userid=root;password=root;database=databasename"
Dim reader As MySqlDataReader
根是默认的
Try
Connection.Open()
Dim query As String
query= "Select * from Databasename.tablename where fieldname='" & textbox1.text & "'"
Command = New MySqlCommand(query, Connection)
reader = Command.ExecuteReader
While reader.Read
Dim sname As String
sname = reader.GetString("Fieldname")
textbox1.Items.Add(sname)
End While
Connection.Close()
Catch e MySqlException
MsgBox (ex.Message)
Finally
Connection.Dispose
End Try
如果您使用的是Mysql数据库,请首先添加引用。添加MySql数据库的引用
如果您使用的是Mysql数据库,请首先添加引用。添加MySql数据库的引用
如果
id.Text
为空,则会出现错误;在构建SQL之前,您还需要将它包含的文本转换为数字。在以后的帖子中,实际的错误信息(它们是重要信息)而不是图片的链接我建议使用:如果不是isdbnull(dr.getvalue(0))
。。。对于每一个,明显增加每一个的getvalue编号。未经请求的建议:继续并将dr.getvalue(n)
更改为dr.getvalue(“nameOfColumn”)
。这是一个更好的习惯。谢谢!我要检查一下。或者把它改成dr.item(“nameofcolumn”)
稍微短一点。。。请参见下面的答案,如果id.Text
为空,则会出现错误;在构建SQL之前,您还需要将它包含的文本转换为数字。在以后的帖子中,实际的错误信息(它们是重要信息)而不是图片的链接我建议使用:如果不是isdbnull(dr.getvalue(0))
。。。对于每一个,明显增加每一个的getvalue编号。未经请求的建议:继续并将dr.getvalue(n)
更改为dr.getvalue(“nameOfColumn”)
。这是一个更好的习惯。谢谢!我要检查一下。或者把它改成dr.item(“nameofcolumn”)
稍微短一点。。。见下面的答案