【发布时间】:2014-10-04 21:51:43
【问题描述】:
我知道还有其他一些关于将 sql 结果放入 vb.net 变量的帖子,但我无法理解他们是如何做到的,以及我如何在我的项目中做到这一点。
所以我要做的是在我的数据库中查询 4 个不同的值,然后在表单的某个部分显示每个值。我打算将每个值存储到一个变量中,然后执行 textbox1.text = i
2014 年 10 月 5 日更新代码
Private Sub LBmembers_SelectedIndexChanged(sender As Object, e As EventArgs) Handles LBmembers.SelectedIndexChanged
Dim i As String = LBmembers.SelectedItem
Dim dbProvider = "PROVIDER=Microsoft.Jet.OLEDB.4.0;"
Dim dbSource = "Data Source= C:\members.mdb "
Dim SqlQuery As String = "SELECT StartTime, EndTime, ShipCode, CycleTime, WorkPercent, Share FROM tblMembers WHERE Member = @ID;"
Using con = New OleDb.OleDbConnection(dbProvider & dbSource)
Using cmd = New OleDb.OleDbCommand(SqlQuery, con)
con.Open()
cmd.Parameters.AddWithValue("@ID", OleDb.OleDbType.VarWChar).Value = i
Using reader = cmd.ExecuteReader()
If reader.Read() Then
TBtimestart.Text = reader.ToString(0)
TBtimeend.Text = reader.ToString(1)
Dim j = Convert.ToInt32(reader.ToString(2))
TBtimecycle.Text = reader.GetInt32(3).ToString
TBmemberpercent.Text = reader.GetInt32(4)
TBmembershare.Text = reader.GetInt32(5)
If j = 1 Then
RBpro.Checked = True
ElseIf j = 2 Then
RBret.Checked = True
ElseIf j = 3 Then
RBcov.Checked = True
ElseIf j = 4 Then
RBskiff.Checked = True
ElseIf j = 5 Then
RBmack.Checked = True
ElseIf j = 6 Then
RBhulk.Checked = True
Else
RBpro.Checked = False
RBret.Checked = False
RBcov.Checked = False
RBskiff.Checked = False
RBmack.Checked = False
RBhulk.Checked = False
Exit Sub
End If
End If
End Using
con.Close()
End Using
End Using
End Sub
例外
InvalidCastException 未处理 指定的强制转换无效。
弹出就行 TBtimecycle.text = reader.GetInt32(3).ToString
当我在 using 语句中插入测试代码“TBgrossisk.Text = reader.ToString()”时,阅读器也在读取“System.Data.OleDb.OleDbDataReader”
【问题讨论】:
标签: sql vb.net variables ms-access-2007