【问题标题】:Get specific row from datatable in C#从 C# 中的数据表中获取特定行
【发布时间】:2020-05-27 14:30:12
【问题描述】:

如何仅获取符合我的条件的行的数据:在dt.Rows[] 中,我应该指定什么以获取生成的 SQL 查询的行号?

string sq = "select EmpName,contactnumber,dob,Address from tbl_emp_details where empname = @empname";

SqlCommand cmd = new SqlCommand(sq, con);
cmd.Parameters.AddWithValue("@empname", comboBox1.SelectedText);

SqlDataAdapter adp = new SqlDataAdapter(cmd);
// com.Parameters.AddWithValue("@empname",Name.SelectedText);

DataTable dt = new DataTable();
adp.Fill(dt);

Name.Text = dt.Rows[]["Empname"].ToString();

【问题讨论】:

  • 您是否正在寻找传递索引,例如dt.Rows[0]
  • 是的,但是当我通过 dt.Rows[0] 时,它说你现在在位置 0
  • 好吧,如果您的 SELECTWHERE 子句不匹配任何行,那么当然不会返回任何行,因此您不能在这种情况下使用 dt.Rows[0].... .
  • 您应该考虑现代化您的数据访问方法。看看这里:github.com/StackExchange/Dapper

标签: c# .net sql-server


【解决方案1】:

如果您询问如何检查第 0 行是否存在,请使用以下内容:

Name.Text = dt.Rows.Count > 0 ? (string)dt.Rows[0]["Empname"] : null;

并且不要在你知道是字符串的东西上使用ToString(),这不仅效率低下,而且表明你不了解你的框架。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多