给你一个思路: 设dropdownlist.selecteditem.text为姓名字段的值, dropdownlist.selecteditem.value为学号的值。Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
dim strID as integer dim strSQL as string dim dv as new dataview strID=dropdownlist.selecteditem.value strSQL="select 学号,姓名,性别,出生年月 from yourdb where 学号=" & strID ....执行从数据库中读取数据操作,并将结果放入一个DATAVIEW中,如DV。 txt1.text=dv.items(0).row("姓名") txt2.text=dv.items(0).row("性别") txt3.text=dv.items(0).row("出生年月") 其中,txt1,txt2,txt3为你在web窗体上加入三个texybox控件。 End Sub
Index 0 is not non-negative and below total rows count. 出现上述错误
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not IsPostBack Then OleDbDataAdapter1.Fill(DataSet11) DropDownList1.DataBind() End If '在此处放置初始化页的用户代码 End Sub Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged Dim strID As Integer Dim strSQL As String Dim dv As New DataView() strID = DropDownList1.SelectedItem.Value strSQL = "select 学号,姓名,籍贯,备注 from cp2651 where 学号=" & strID TextBox1.Text = dv.Item(0).Item("备注") 其中最后一行显示有错误
这句TextBox1.Text = dv.Item(0).Item("备注") 中的dv如何来的?你得用它获取数据库中的数据才行啊!先: 在控件属性设置了dropdownlist.selecteditem.text为姓名字段的值, dropdownlist.selecteditem.value为学号的值。 autopostback属性改成true且:暂时去掉page_load中的代码然后:Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged Dim strID As Integer Dim strSQL As String Dim dv As New DataView() dim objCon as oledbConnection dim objDA as oledbdataAdapter dim dSet as new dataset
strID = DropDownList1.SelectedItem.Value strSQL = "select 学号,姓名,籍贯,备注 from cp2651 where 学号=" & strID objCon=new oledbConnection("provider=microsoft.jet.oledb.4.0;data source=你的数据库路径及库名" objDA=new oledbdataAdapter(strSQL,objCon) objDA.fill(dSet) dv=dset.tables(0).defaultview
txt1.text=dv.items(0).row("姓名") txt2.text=dv.items(0).row("性别") txt3.text=dv.items(0).row("出生年月") txt4.text=dv.items(0).row("备注")end sub
哦,对了,page_load中应这样: Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load If Not IsPostBack Then DropDownList1.DataBind() End If End Sub
selectindexchanged()里写事件,给textbox赋值
设dropdownlist.selecteditem.text为姓名字段的值,
dropdownlist.selecteditem.value为学号的值。Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
dim strID as integer
dim strSQL as string
dim dv as new dataview
strID=dropdownlist.selecteditem.value
strSQL="select 学号,姓名,性别,出生年月 from yourdb where 学号=" & strID
....执行从数据库中读取数据操作,并将结果放入一个DATAVIEW中,如DV。
txt1.text=dv.items(0).row("姓名")
txt2.text=dv.items(0).row("性别")
txt3.text=dv.items(0).row("出生年月")
其中,txt1,txt2,txt3为你在web窗体上加入三个texybox控件。
End Sub
出现上述错误
然后在控件选项改变的触发事件selectindexchanged()中再给各个文本框付值.
在datable中查找这一列,再邦定
If Not IsPostBack Then
OleDbDataAdapter1.Fill(DataSet11)
DropDownList1.DataBind()
End If
'在此处放置初始化页的用户代码
End Sub Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
Dim strID As Integer
Dim strSQL As String
Dim dv As New DataView()
strID = DropDownList1.SelectedItem.Value
strSQL = "select 学号,姓名,籍贯,备注 from cp2651 where 学号=" & strID
TextBox1.Text = dv.Item(0).Item("备注")
其中最后一行显示有错误
dropdownlist.selecteditem.value为学号的值。
autopostback属性改成true
中的dv如何来的?你得用它获取数据库中的数据才行啊!先:
在控件属性设置了dropdownlist.selecteditem.text为姓名字段的值,
dropdownlist.selecteditem.value为学号的值。
autopostback属性改成true且:暂时去掉page_load中的代码然后:Private Sub DropDownList1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DropDownList1.SelectedIndexChanged
Dim strID As Integer
Dim strSQL As String
Dim dv As New DataView()
dim objCon as oledbConnection
dim objDA as oledbdataAdapter
dim dSet as new dataset
strID = DropDownList1.SelectedItem.Value
strSQL = "select 学号,姓名,籍贯,备注 from cp2651 where 学号=" & strID
objCon=new oledbConnection("provider=microsoft.jet.oledb.4.0;data source=你的数据库路径及库名" objDA=new oledbdataAdapter(strSQL,objCon)
objDA.fill(dSet)
dv=dset.tables(0).defaultview
txt1.text=dv.items(0).row("姓名")
txt2.text=dv.items(0).row("性别")
txt3.text=dv.items(0).row("出生年月")
txt4.text=dv.items(0).row("备注")end sub
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Not IsPostBack Then
DropDownList1.DataBind()
End If
End Sub
在selectedchanged时,再根据selectvalue去数据库里查这个selectitem.text所对应的记录就是了,然后再把这条记录的各个字段值赋给各个textbox.text就是了。
selectindexchanged()里写事件,给textbox赋值
dataset ds=new dataset();
textbox.text=ds.tables[0]....//相应的字段值...
即可..