运行时登录的stuNum和stuPassword有没有在数据库表中运行结果都一样!!!请高手帮忙,改一下!
改一下使当输入的stuNum和stuPassword不在数据库表中则提示帐号和密码出错,代码如下:protectedvoidButton1_Click(objectsen...
改一下使当输入的stuNum和stuPassword不在数据库表中则提示帐号和密码出错,代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
if (this.TextBox1.Text == "")
{
// AlertMessage("请输入学号");
Response.Write("请输入学号!");
this.TextBox1.Focus();//你这些文本框都没有估计是全部复制过来的 都出错了
return;
}
if (this.TextBox2.Text == "")
{
// AlertMessage("请输入密码");
Response.Write("请输入密码!");
this.TextBox2.Focus();
return;
}
string ConnStr = "data source=(local);initial catalog=student;Integrated Security=SSPI";
string SQLStr = "select * from Table_1 where stuNum=@stuNum and stuPassword=@stuPassword";
SqlConnection MyCon = new SqlConnection(ConnStr);
SqlCommand MyCom = new SqlCommand();
MyCom.Connection = MyCon;
MyCom.CommandType = CommandType.Text;
MyCom.CommandText = SQLStr;
SqlParameter[] paras = new SqlParameter[2];
paras[0] = new SqlParameter("@stuNum", SqlDbType.VarChar, 12);//你用的是什么数据库啊 这里怎么又出现access
paras[0].Value = this.TextBox1.Text.Trim();
paras[1] = new SqlParameter("@stuPassword", SqlDbType.VarChar, 20);
paras[1].Value = this.TextBox2.Text.Trim();
for (int i = 0; i < paras.Length; i++)
{
MyCom.Parameters.Add(paras[i]);
}
try
{
MyCon.Open();
SqlDataReader Mydr = MyCom.ExecuteReader();
if (Mydr != null)//该循环依次读取数据集中的每一条记录的数据
{
Response.Write("登录成功");
Response.Redirect("WebForm1.aspx");
}
else
//Mydr == null)
{
//无则提示找不到
//这里就是密码或帐号错误的提示
Response.Write("密码或帐号错误");
}
Mydr.Close();
}
catch (Exception ex)
{
Response.Write("连接失败!出错<br/>" + ex.Message);
return;
}
finally
{
MyCon.Close();
}
}
}
}
谢谢你的回答但只改成这句if (Mydr != null && Mydr.rows.count>0) 则会出错错误有:
错误 1 “System.Data.SqlClient.SqlDataReader”不包含“rows”的定义,并且找不到可接受类型为“System.Data.SqlClient.SqlDataReader”的第一个参数的扩展方法“rows”(是否缺少 using 指令或程序集引用?) 麻烦哪位高手再帮我改改!!1谢谢啦!急急急啊!明天就要交了!!!1 展开
protected void Button1_Click(object sender, EventArgs e)
{
if (this.TextBox1.Text == "")
{
// AlertMessage("请输入学号");
Response.Write("请输入学号!");
this.TextBox1.Focus();//你这些文本框都没有估计是全部复制过来的 都出错了
return;
}
if (this.TextBox2.Text == "")
{
// AlertMessage("请输入密码");
Response.Write("请输入密码!");
this.TextBox2.Focus();
return;
}
string ConnStr = "data source=(local);initial catalog=student;Integrated Security=SSPI";
string SQLStr = "select * from Table_1 where stuNum=@stuNum and stuPassword=@stuPassword";
SqlConnection MyCon = new SqlConnection(ConnStr);
SqlCommand MyCom = new SqlCommand();
MyCom.Connection = MyCon;
MyCom.CommandType = CommandType.Text;
MyCom.CommandText = SQLStr;
SqlParameter[] paras = new SqlParameter[2];
paras[0] = new SqlParameter("@stuNum", SqlDbType.VarChar, 12);//你用的是什么数据库啊 这里怎么又出现access
paras[0].Value = this.TextBox1.Text.Trim();
paras[1] = new SqlParameter("@stuPassword", SqlDbType.VarChar, 20);
paras[1].Value = this.TextBox2.Text.Trim();
for (int i = 0; i < paras.Length; i++)
{
MyCom.Parameters.Add(paras[i]);
}
try
{
MyCon.Open();
SqlDataReader Mydr = MyCom.ExecuteReader();
if (Mydr != null)//该循环依次读取数据集中的每一条记录的数据
{
Response.Write("登录成功");
Response.Redirect("WebForm1.aspx");
}
else
//Mydr == null)
{
//无则提示找不到
//这里就是密码或帐号错误的提示
Response.Write("密码或帐号错误");
}
Mydr.Close();
}
catch (Exception ex)
{
Response.Write("连接失败!出错<br/>" + ex.Message);
return;
}
finally
{
MyCon.Close();
}
}
}
}
谢谢你的回答但只改成这句if (Mydr != null && Mydr.rows.count>0) 则会出错错误有:
错误 1 “System.Data.SqlClient.SqlDataReader”不包含“rows”的定义,并且找不到可接受类型为“System.Data.SqlClient.SqlDataReader”的第一个参数的扩展方法“rows”(是否缺少 using 指令或程序集引用?) 麻烦哪位高手再帮我改改!!1谢谢啦!急急急啊!明天就要交了!!!1 展开
1个回答
展开全部
if (Mydr != null && Mydr.rows.count>0)
追问
好像这个问题出在,跟数据库是连上了,但TextBox1和TextBox2没有与数据库表里的stuNum和stuPassword相连上!!!帮我改改嘛!!!谢谢了!
追答
SqlDataReader Mydr = MyCom.ExecuteReader();
DataTable dt = new DataTable();
dt.Load(Mydr);
if(dt!=null && dt.rows.count>0)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询