【问题标题】:How to fill textbox with data from a DataTable [closed]如何用数据表中的数据填充文本框[关闭]
【发布时间】:2012-10-31 23:43:49
【问题描述】:

我想将 DataTable 中的第一列数据填充到文本框中。

这样做的语法是什么。

到目前为止我有这个,但在最后一行出现错误。

    DataTable dt = new DataTable();
    string strConnection = ConfigurationManager.ConnectionStrings["ChinatowndbConnString"].ConnectionString;
    SqlConnection conn = new SqlConnection(strConnection);
    string sql = "SELECT * FROM vwSchedule where scheduleid =" + scheduleid;
    SqlCommand cmd = new SqlCommand(sql);
    cmd.CommandType = CommandType.Text;
    cmd.Connection = conn;
    SqlDataAdapter sd = new SqlDataAdapter(cmd);
    sd.Fill(dt);

    tbEvent.Text dt.Rows[0].Field<String>(0); // first field of first row, assuming that it's a string

问候 茶

【问题讨论】:

  • 那么什么不起作用?如果您将tbEvent.Text dt.Rows[0].Field&lt;String&gt;(0); 替换为tbEvent.Text=dt.Rows[0].Field&lt;String&gt;(0);,它应该会按预期工作(假设有行并且第一列的类型是字符串)。
  • 会不会是coulmn 0不是字符串
  • 我的错误,我忘记了 = 符号。
  • 编译器本身会指出确切的错误行。稍微反省一下就可以帮助发现明显缺失的等号。
  • @JKarthik:但是,由于问题很明确,因此不值得投反对票。但它应该被关闭,因为“过于本地化(不太可能帮助任何未来的访问者)”

标签: asp.net datatable


【解决方案1】:

如果你替换

tbEvent.Text dt.Rows[0].Field<String>(0);

tbEvent.Text = dt.Rows[0].Field<String>(0);

它应该按预期工作(假设有行并且第一列的类型是字符串)。

【讨论】:

    【解决方案2】:

    您在最后一行语法中缺少 Equals:

    tbEvent.Text dt.Rows[0].Field<String>(0);
    

    应该是:

    tbEvent.Text = dt.Rows[0].Field<String>(0); 
    

    或者

    tblEvent.Text = dt.Rows[0].ItemArray[0];
    

    应该这样做。

    参考:Access cell value of datatable

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-16
      • 1970-01-01
      • 2019-01-29
      • 2022-01-21
      • 2018-09-23
      • 2023-03-21
      • 1970-01-01
      • 2019-02-22
      相关资源
      最近更新 更多