try
{
string strcon = "Data Source=(local)\\SQLEXPRESS;Initial Catalog=xuesheng;Integrated Security=True"; //连接数据库
SqlConnection cn = new SqlConnection(strcon);
cn.Open();
string sqlStr = "select * from Admin where sno = '" +textBox1.Text + "' and pwd = '" +textBox2.Text + "'";
SqlDataAdapter SqlDap = new SqlDataAdapter(sqlStr, cn);
DataTable dt = new DataTable();
SqlDap.Fill(dt);
i = dt.Rows.Count;
}
catch (SqlException ee) //捕获异常
{
MessageBox.Show(ee.Message);
}
if (i >= 1)
{
if (radioButton2.Checked)
{
if (dataReader.GetString(2) == "学生")
{
MessageBox.Show("你没有教师权限!");
}
执行到dataReader.GetString(2) == "学生"这一步时系统报错,显示dataReader值为null,应该怎么解决?
那应该怎么给他赋值呢
追答使用dataReader的话,需要用SqlConnection创建SqlCommand,然后通过SqlCommand的ExecuteReader方法执行SQL语句,返回dataReader。这个过程和你原代码中使用的SqlDataAdapter和DataTable是不一样的。可以查找一下SqlDataReader相关的资料。