根据Vb 2008中的ComboBox选择到文本框显示数据库记录的代码 [英] code for Display database record according to ComboBox selection to text box in vb 2008
问题描述
我有sql server 2005。我有1个表名数据,其中有slno,名称,类型,形状作为列字段
i想要在文本框中显示名称,类型,形状的记录组合框选择slno
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object,ByVal e As System.EventArgs)处理ComboBox1.SelectedIndexChanged
'Dim strcon As String =(Data Source = .\INSTANCE; initial catalog = record; user = sa; password = gariahat)
Dim cn As New SqlConnection( Data Source = .\INSTANCE; initial catalog = record; user = sa; password = gariahat)
'Dim da As New SqlDataAdapter
Dim cmd As New SqlCommand
Dim ds作为新数据集
Dim dt As DataTable
'试试
cmd.Connection = cn
cn.Open()
Dim da As New SqlDataAdapter(se lect * from data,cn)
dt = New DataTable
ds =新数据集
da。填充(ds,数据)
对于i as Integer = 0到ds.Tables(data)。Rows.Count - 1
如果ComboBox1.SelectedItem = ds.Tables(data)。Rows(i).Item(lot_no)。ToString()则
TextBox3.Text = ds.Tables(数据)。行(i + 1).Item(type)。ToString()
TextBox4.Text = ds.Tables(data)。行(i + 2).Item (形状)。ToString()
TextBox5.Text = ds.Tables(data)。行(i + 3).Item(size)。ToString()
TextBox6.Text = ds.Tables(data)。行(i + 4).Item(place)。ToString()
TextBox7.Text = ds.Tables (数据)。行(i + 5)。项目(权重)。ToString()
结束如果
下一页
这是上面的代码,bt显示错误我n for循环语句为空引用
我看到你在每个设置语句中访问不同的行。一行可以通过Rows(i)访问,如下所示
TextBox3.Text = ds.Tables( data)。行(i).Item( type)。ToString()
TextBox4.Text = ds.Tables( data )。行(i).Item( shape)。ToString()
TextBox5.Text = ds.Tables( data)。行(i)。 Item( size)。ToString()
TextBox6.Text = ds.Tables( data)。行(i).Item( place)。ToString()
TextBox7.Text = ds.Tables( data)。行(i).Item( weight)。ToString()
< blockquote>因为i + 1,i + 2,i + 3 ......就是问题。
只需删除+1,+ 2 + 3 ..然后它会工作。
试试这种方式
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object,ByVal e As System。 EventArgs)处理ComboBox1.SelectedIndexChanged
'Dim strcon As String =(Data Source = .\INSTANCE; initial catalog = record; user = sa; password = gariahat )
Dim cn As New SqlConnection(Data Source = .\INSTANCE; initial catalog = record; user = sa; password = gariahat)
'Dim da As New SqlDataAdapter
Dim cmd As New SqlCommand
Dim ds As New DataSet
Dim dt As DataTable
'试试
cmd.Connection = cn
cn.Open( )
Dim da As New SqlDataAdapter(select * fro m data其中lot_no =&cint(ComboBox1.SelectedItem),cn)
dt =新数据表
ds =新数据集
da.Fill(ds,data)
TextBox3。 Text = ds.Tables(data)。Rows(0).Item(type)。ToString()
TextBox4.Text = ds.Tables(data)。Rows(0 ).Item(shape)。ToString()
TextBox5.Text = ds.Tables(data)。Rows(0).Item(size)。ToString()
TextBox6.Text = ds.Tables(data)。Rows(0).Item(place)。ToString()
TextBox7.Text = ds.Tables( 数据)。行(0).Item( 权重)。的ToString()
I have sql server 2005 .there i have 1 table name data which has slno,name,type,shape as column fields
i want to display the records of name,type,shape in textbox on combobox selection of slno
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
'Dim strcon As String = ("Data Source=.\INSTANCE;initial catalog=record;user=sa;password=gariahat")
Dim cn As New SqlConnection("Data Source=.\INSTANCE;initial catalog=record;user=sa;password=gariahat")
'Dim da As New SqlDataAdapter
Dim cmd As New SqlCommand
Dim ds As New DataSet
Dim dt As DataTable
'Try
cmd.Connection = cn
cn.Open()
Dim da As New SqlDataAdapter("select * from data", cn)
dt = New DataTable
ds = New DataSet
da.Fill(ds, "data")
For i As Integer = 0 To ds.Tables("data").Rows.Count - 1
If ComboBox1.SelectedItem = ds.Tables("data").Rows(i).Item("lot_no").ToString() Then
TextBox3.Text = ds.Tables("data").Rows(i + 1).Item("type").ToString()
TextBox4.Text = ds.Tables("data").Rows(i + 2).Item("shape").ToString()
TextBox5.Text = ds.Tables("data").Rows(i + 3).Item("size").ToString()
TextBox6.Text = ds.Tables("data").Rows(i + 4).Item("place").ToString()
TextBox7.Text = ds.Tables("data").Rows(i + 5).Item("weight").ToString()
End If
Next
this is the above code, bt showing error in for loop statement as null reference
I saw you access different rows in each setting statement. A row can be access by Rows(i) as below
TextBox3.Text = ds.Tables("data").Rows(i).Item("type").ToString() TextBox4.Text = ds.Tables("data").Rows(i).Item("shape").ToString() TextBox5.Text = ds.Tables("data").Rows(i).Item("size").ToString() TextBox6.Text = ds.Tables("data").Rows(i).Item("place").ToString() TextBox7.Text = ds.Tables("data").Rows(i).Item("weight").ToString()
Because of i+1, i+2, i+3... is the problem.
Just remove that +1, +2 +3... then it will work.
Try this way
Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
'Dim strcon As String = ("Data Source=.\INSTANCE;initial catalog=record;user=sa;password=gariahat")
Dim cn As New SqlConnection("Data Source=.\INSTANCE;initial catalog=record;user=sa;password=gariahat")
'Dim da As New SqlDataAdapter
Dim cmd As New SqlCommand
Dim ds As New DataSet
Dim dt As DataTable
'Try
cmd.Connection = cn
cn.Open()
Dim da As New SqlDataAdapter("select * from data where lot_no=" & cint(ComboBox1.SelectedItem), cn)
dt = New DataTable
ds = New DataSet
da.Fill(ds, "data")
TextBox3.Text = ds.Tables("data").Rows(0).Item("type").ToString()
TextBox4.Text = ds.Tables("data").Rows(0).Item("shape").ToString()
TextBox5.Text = ds.Tables("data").Rows(0).Item("size").ToString()
TextBox6.Text = ds.Tables("data").Rows(0).Item("place").ToString()
TextBox7.Text = ds.Tables("data").Rows(0).Item("weight").ToString()
这篇关于根据Vb 2008中的ComboBox选择到文本框显示数据库记录的代码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!