【问题标题】:How to populate a text box with value from DB如何使用数据库中的值填充文本框
【发布时间】:2013-05-07 14:19:23
【问题描述】:

我是 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

请更正代码并告诉我哪里错了。 如果有的话,请给我一个链接,以便通过示例为初学者阅读更多关于这个主题的信息。

【问题讨论】:

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


    【解决方案1】:
    【解决方案2】:

    ds.Tables(0)

    将返回一个数据表

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

    ds.Tables(0).TableName

    如果你想得到返回值,写这样的代码:

    ds.Tables(0).Rows(0).Item("empFirstName")

    【讨论】:

      【解决方案3】:

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

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

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

      如果查询返回超过 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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-11-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-23
        • 1970-01-01
        相关资源
        最近更新 更多