根据Vb 2008中的ComboBox选择到文本框显示数据库记录的代码 [英] code for Display database record according to ComboBox selection to text box in vb 2008

查看:208
本文介绍了根据Vb 2008中的ComboBox选择到文本框显示数据库记录的代码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆