我的数据库中有一个“Klantnummer”栏和 我希望这个值作为我的标签文字 我怎么做?
protected string conS = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Databees.mdf;Integrated Security=True;User Instance=True";
protected SqlConnection con;
protected void Page_Load(object sender, EventArgs e)
{
con = new SqlConnection(conS);
try
{
con.Open();
string q = "SELECT * FROM tblKLanten;";
SqlCommand query = new SqlCommand(q, con);
SqlDataReader dr = query.ExecuteReader();
Label1.Text = ; //I want here the value of klantnummer
con.Close();
}
catch (Exception ex)
{
Label2.Text = "Error";
}
}
答案 0 :(得分:1)
你可以使用:
label1.Text = dr["Klantnummes"].ToString();
答案 1 :(得分:1)
嗯,根据所提供的信息,它的回答并不容易,但让 假设 您的结构是这样的:
CREATE TABLE tblKLanten (
ID INT,
Klantnummer VARCHAR(50)
)
你需要通过读者的索引获取字段,如下所示:
Label1.Text = dr.GetString(1);
但您还需要阅读,因此您需要在设置标签之前发出此声明:
bool success = dr.Read();
if (success)
{
// set the label in here
}
但请记住,它基于返回语句 中列的 索引,因此,由于您发出了SELECT *
,因此无法使用我知道索引是什么。最后,我建议进行一些更改,因此请考虑以下代码:
protected string conS = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Databees.mdf;Integrated Security=True;User Instance=True";
protected SqlConnection con;
protected void Page_Load(object sender, EventArgs e)
{
con = new SqlConnection(conS);
try
{
con.Open();
string q = "SELECT * FROM tblKLanten;";
SqlCommand query = new SqlCommand(q, con);
using (SqlDataReader dr = query.ExecuteReader())
{
bool success = dr.Read();
if (success)
{
Label1.Text = dr.GetString(1);
}
}
con.Close();
}
catch (Exception ex)
{
Label2.Text = "Error";
}
}
using
语句将确保SqlDataReader
正确处理。