如何从标签

时间:2017-09-20 05:37:38

标签: c#

我想从数据库中检索学生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();

    }


    }

1 个答案:

答案 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文件中提供连接字符串。