我想从数据库中检索学生ID。这是我的代码,我试过但它没有显示任何东西。 感谢...
protected void Button2_Click(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection("Data Source=DESKTOP-Q69PRF4;Initial Catalog=new;Integrated Security=True");
if (con.State == ConnectionState.Open)
{
con.Close();
}
con.Open();
string str = "select * from StRecords where StID='" + Session["login"] + "'";
SqlCommand com = new SqlCommand(str, con);
SqlDataAdapter da = new SqlDataAdapter(com);
DataSet ds = new DataSet();
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
Label11.Text = dt.Rows[0]["StID"].ToString();
}
}
答案 0 :(得分:1)
如果您只想从数据库中获取StudentId
,那么您只需选择该列并使用ExecuteScalar
属性。
<强>代码强>
protected void Button2_Click(object sender, EventArgs e)
{
using (SqlConnection con = new SqlConnection("Data Source=DESKTOP-Q69PRF4;Initial Catalog=new;Integrated Security=True"))
{
con.Open();
string str = "select [StID] from StRecords where StID = @stdId;";
using (SqlCommand com = new SqlCommand(str, con))
{
com.Parameters.AddWithValue("@stdId", Session["login"]);
Label11.Text = com.ExecuteScalar().ToString();
}
}
}
也总是使用参数而不是用单引号传递值来避免SQL注入攻击。
还尝试在Web.Config
文件中提供连接字符串。