如何使用DB中的值填充文本框

时间:2013-05-07 14:19:24

标签: asp.net sql sql-server vb.net ado.net

我是asp.net的新用户,在这里我尝试使用数据库中的值填充单个文本框。

我已创建此代码但无效:

Try
    Dim MyCon As New SqlConnection("server = servername; uid = sa; pwd =abc; database = master")
    Dim MyCommand As New SqlCommand("Select empFirstName from Employees where empid=2")
    MyCon.Open()
    Dim MyReader = MyCommand.ExecuteReader()
    While MyReader.Read()
        Dim sqlda = New SqlDataAdapter()
        Dim dt As New Data.DataTable()
        Dim ds As New Data.DataSet
        sqlda.Fill(ds)
        TextBox1.Text = ds.Tables(0).ToString
        MyCon.Close()
    End While

请更正密码并告诉我错误的地方。 请建议我一个链接,如果有任何关于这个主题的更多关于初学者的例子。

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

  

ds.Tables(0)

将返回DataTable

如果您想获取表名,请改为写下:

  

ds.Tables(0).TableName

如果要返回值,请编写以下代码:

  

ds.Tables(0).Rows(0).Item( “empFirstName”)

答案 2 :(得分:0)

这将只存储数据库的第一行

TextBox1.Text = ds.Tables(0).Rows(0)(0).ToString();

Row(0)(0)表示从第1列获取第1行

如果查询返回超过1行,那么你需要迭代数据表并将其存储在List(Of String)而不是数组中,因为你不知道查询返回的行数

Dim EmpFirstName As New List(Of String)
Dim myRow As DataRow
Dim myColumn As DataColumn
For Each myRow in dt.Rows
     EmpFirstName.Add(myRow(dt.Columns(0)))
Next