[英]VB.NET issue loading textboxes with data from SQL Server
我有一些文本框(使用VS2010),我试图根据某人从组合框中选择的项目,使用SQL Server数据库中各列的值进行填充。 最初,我能够显示组合框中第一项的值,但是现在调试时什么也没有显示。 码:
Private Sub loadfields(sender As System.Object, e As System.EventArgs) Handles client_selection_combobox.SelectedIndexChanged
Using myconnection As New SqlConnection("connection string")
Dim loadfields As String = "SELECT company FROM ClientFileDatabase WHERE ClientFileDatabase.File_Name=@company;"
Dim loadfields_sqlcommand As New SqlCommand(loadfields, myconnection)
loadfields_sqlcommand.Parameters.Add("@company", SqlDbType.NVarChar)
loadfields_sqlcommand.Parameters("@company").Value = client_selection_combobox.SelectedIndex.ToString
Dim loadfields_dataadapter As New SqlDataAdapter
loadfields_dataadapter.SelectCommand = loadfields_sqlcommand
Dim loadfields_dataset As DataSet = New DataSet()
loadfields_dataadapter.Fill(loadfields_dataset, "ClientFileDatabase")
Dim loadfields_dataview = New DataView(loadfields_dataset.Tables("ClientFileDatabase"))
companyname_textbox.DataBindings.Clear()
companyname_textbox.DataBindings.Add("Text", loadfields_dataview, "Company")
taxid_textbox.DataBindings.Clear()
taxid_textbox.DataBindings.Add("Text", loadfields_dataview, "TaxIDNumber")
accountmanager_textbox.DataBindings.Clear()
accountmanager_textbox.DataBindings.Add("Text", loadfields_dataview, "AccountManager")
etc...
End Using
End Sub
我也尝试使用SelectedValueChanged和SelectionChangeCommitted事件处理程序无济于事。 设置数据绑定后也尝试使用刷新,没有帮助。 欢迎任何意见,谢谢!
我个人喜欢使用数据表,我发现它们更易于使用。 我敢肯定,在实际尝试使用数据之前,您将需要检查更多代码以确保dt.rows.count> 0,但是这就是我的方法。
Dim loadfields_dataadapter As New SqlDataAdapter
Dim dt As New DataTable
loadfields_dataadapter.Fill(dt)
companyname_textbox.text = dt.Rows(0).Item("Company")
taxid_textbox.text = dt.Rows(0).Item("TaxIDNumber")
accountmanager_textbox.text = dt.Rows(0).Item("AccountManager")
另外,请记住,数据库中的NULL字段可能会导致运行时错误,因此您可能也必须检查这些错误。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.