伙计们我想打印从数据库返回到标签的两条记录。我使用数据集,浏览列然而无法绑定,因为标签没有数据源。以下是我的代码。
SqlDataAdapter adp = new SqlDataAdapter();
adp.SelectCommand = cmd;
DataSet ds = new DataSet();
adp.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
{
lblClient.Enabled = true;
lblClient.Text = Convert.ToString(ds.Tables[0].Columns[0]);
lblBranch.Text = Convert.ToString(ds.Tables[0].Columns["Bname"]);
}
connection.Close();
当我尝试上述内容时。它只返回列名(即指定的字符串)。任何替代方案都将受到赞赏。
答案 0 :(得分:2)
您不需要列的文本,而是DataRow
值:
lblClient.Text = ds.Tables[0].Rows[0].Field<string>(0);
lblBranch.Text = ds.Tables[0].Rows[0].Field<string>(1);
或按列名称(假定第一个名称):
lblClient.Text = ds.Tables[0].Rows[0].Field<string>("Cname");
lblBranch.Text = ds.Tables[0].Rows[0].Field<string>("Bname");
仅当表包含至少一行时才有效。所以你必须检查一下。
答案 1 :(得分:1)
您需要指明您想要的行。使用您的代码,您可以选择DataTable列
SqlDataAdapter adp = new SqlDataAdapter();
adp.SelectCommand = cmd;
DataSet ds = new DataSet();
adp.Fill(ds);
if (ds.Tables[0].Rows.Count > 0)
{
lblClient.Enabled = true;
lblClient.Text = Convert.ToString(ds.Tables[0].Rows[0].[0]);
lblBranch.Text = Convert.ToString(ds.Tables[0].Rows[0].["Bname"]);
}
connection.Close();