Vb.net 从数据库列错误在rcihtextbox上显示多个数据
我的代码怎么了?错误发生在“更新块”上 如果reader1.Read()则 rtbURThirdMolar.Text=reader1.Item(“上右第三摩尔”)“从类型“DBNull”到类型“String”的转换无效Vb.net 从数据库列错误在rcihtextbox上显示多个数据,vb.net,richtextbox,sqlyog,Vb.net,Richtextbox,Sqlyog,我的代码怎么了?错误发生在“更新块”上 如果reader1.Read()则 rtbURThirdMolar.Text=reader1.Item(“上右第三摩尔”)“从类型“DBNull”到类型“String”的转换无效 Private Sub txtURThirdMolar_KeyDown(sender As Object, e As KeyEventArgs) Handles txtURThirdMolar.KeyDown MySqlConn.open()
Private Sub txtURThirdMolar_KeyDown(sender As Object, e As KeyEventArgs) Handles txtURThirdMolar.KeyDown
MySqlConn.open()
If e.KeyCode = Keys.Enter Then
query1 = "SELECT * FROM teethhistory WHERE Patient_ID_Number ='" & lblID.Text & "'"
cmd1 = New MySqlCommand(query1, MySqlConn)
reader = cmd1.ExecuteReader
If reader.HasRows Then
Dim i As Integer
With cmd
.Connection = MySqlConn
.CommandText = "UPDATE teethhistory SET Up_Right_3rd_Molar = concat('" & txtURThirdMolar.Text & Environment.NewLine & "',Up_Right_3rd_Molar) WHERE Patient_ID_Number = " & lblID.Text
reader.Close()
i = .ExecuteNonQuery
End With
If i > 0 Then
MsgBox("Updated!", MsgBoxStyle.Information, "Success")
txtURThirdMolar.Text = ""
Dim query2 As String
Dim reader1 As MySqlDataReader
Dim cmd2 As MySqlCommand
query2 = "SELECT * FROM teethhistory WHERE Patient_ID_Number ='" & lblID.Text & "'"
cmd2 = New MySqlCommand(query2, MySqlConn)
reader1 = cmd2.ExecuteReader
If reader1.Read() Then
rtbURThirdMolar.Text = reader1.Item("Up_Right_3rd_Molar") 'THIS IS WHERE THE ERROR OCCURS
End If
Else
MsgBox("Failed", MsgBoxStyle.Information, "Failed")
End If
Else
Dim cmd As MySqlCommand = MySqlConn.CreateCommand
cmd.CommandText = String.Format("INSERT INTO teethhistory (Patient_ID_Number, Fullname, Up_Right_3rd_Molar )" &
"VALUES ('{0}' ,'{1}' ,'{2}')",
lblID.Text,
lblFullname.Text,
txtURThirdMolar.Text)
reader.Close()
Dim affectedrows As Integer = cmd.ExecuteNonQuery()
If affectedrows > 0 Then
MsgBox("Saved!", MsgBoxStyle.Information, "Success")
txtURThirdMolar.Text = ""
Dim query2 As String
Dim reader2 As MySqlDataReader
Dim cmd2 As MySqlCommand
query2 = "SELECT * FROM teethhistory WHERE Patient_ID_Number ='" & lblID.Text & "'"
cmd2 = New MySqlCommand(query2, MySqlConn)
reader2 = cmd2.ExecuteReader
If reader2.Read() Then
rtbURThirdMolar.Text = reader2.Item("Up_Right_3rd_Molar")
End If
Else
MsgBox("Saving failed.", MsgBoxStyle.Critical, "Failed")
End If
End If
End If
MySqlConn.close()
End Sub
使用
这是因为您引用的项目为空。请使用
这是因为您正在引用的项目为空。我尝试了此操作,但richtextbox上没有显示任何内容:(只是空白我的程序有32个文本框,32个richtextbox,如果输入到文本框的数据在保存后会显示在richtextbox中,但我注意到,在32个文本框中只有1个可以正常工作,31个richtextboes给我空白结果是的..读卡器有一个空值,那么会显示什么值?我尝试了这个,但没有在richtextbox上显示以下内容:(只是空白我的程序有32个文本框,32个richtextbox,如果输入到文本框的数据在保存后会显示在richtextbox中,但有一点我注意到,它在32个文本框中只有1个可以正常工作,31个richtextboes给我空白结果Yes..reader有一个空值,那么会显示什么值?
rtbURThirdMolar.Text = reader1.Item("Up_Right_3rd_Molar").ToString