刚才小弟经一大哥指点,解决了SQL语句的问题,现在紧接着出现另一问题
看小弟代码:
string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;";
string DataBase = Server.MapPath("db/db.mdb");
strConnection += "Data Source=" + DataBase;//赋值数据库路径给strConnection变量string strSQL1 = "SELECT * FROM login where username='" + Originame.Text + "'";
string strSQL2="UPDATE login SET [password]='"+Newpw.Text+"' WHERE username='"+Originame.Text + "'";//定义2个SQL语句。OleDbConnection objConnection = new OleDbConnection(strConnection);OleDbCommand objCommand =new OleDbCommand(strSQL1, objConnection);
OleDbCommand myCommand = new OleDbCommand (strSQL2,objConnection); OleDbDataReader objDataReader ;objConnection.Open();
objDataReader = objCommand.ExecuteReader();//下面的if语句是首先验证表中username字段有无 username='" + Originame.Text + "' 的行。if (objDataReader.Read()==false)
{
error.Text = "用户名输入有误!"; //表示没有相应的行
return;
}
else if(objDataReader.GetString(2)!=Originpw.Text)
{
error.Text="密码验证错误!"; //表示有相应的行,但是密码验证不正确
return;
}
else
{
myCommand.ExecuteNonQuery(); //全部验证通过,更新数据。
objConnection.Close();
}接着就会出现:已有打开的与此连接相关联的 DataReader,必须首先将它关闭。
打红的行为: myCommand.ExecuteNonQuery();请高手指点,第一个解决的 20分全给!谢谢~~~~~
看小弟代码:
string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;";
string DataBase = Server.MapPath("db/db.mdb");
strConnection += "Data Source=" + DataBase;//赋值数据库路径给strConnection变量string strSQL1 = "SELECT * FROM login where username='" + Originame.Text + "'";
string strSQL2="UPDATE login SET [password]='"+Newpw.Text+"' WHERE username='"+Originame.Text + "'";//定义2个SQL语句。OleDbConnection objConnection = new OleDbConnection(strConnection);OleDbCommand objCommand =new OleDbCommand(strSQL1, objConnection);
OleDbCommand myCommand = new OleDbCommand (strSQL2,objConnection); OleDbDataReader objDataReader ;objConnection.Open();
objDataReader = objCommand.ExecuteReader();//下面的if语句是首先验证表中username字段有无 username='" + Originame.Text + "' 的行。if (objDataReader.Read()==false)
{
error.Text = "用户名输入有误!"; //表示没有相应的行
return;
}
else if(objDataReader.GetString(2)!=Originpw.Text)
{
error.Text="密码验证错误!"; //表示有相应的行,但是密码验证不正确
return;
}
else
{
myCommand.ExecuteNonQuery(); //全部验证通过,更新数据。
objConnection.Close();
}接着就会出现:已有打开的与此连接相关联的 DataReader,必须首先将它关闭。
打红的行为: myCommand.ExecuteNonQuery();请高手指点,第一个解决的 20分全给!谢谢~~~~~
解决方案 »
- winform 调用MySql分页存储过程
- 多线程一个菜鸟问题
- 怎么通过字段名查询ACCESS、SQL SERVER的字段值?
- 怎么把数据读入到我的richTextBox.Text里面 焦急等待。。。
- 怎样在SQL Sever中实现交叉表
- 请教关于Remoting的一个问题
- MM急送分!vs2003的水晶报表出错为“找不到密码或密码无效”,怎么办呢?
- 一个无边框窗口的问题!!
- 有谁装过PetShop这个.NET sample么?
- 集合类调用clone()方法深度复制何时结束递归
- 请教高手:为什么我在用DataGrid控件时,找不到DataBind()方法?
- 就像OpenFileDialog,选择目录的对话框类是什么?
因为objDataReader.Open();后objConnection已经被使用了,不能再用
{
error.Text = "用户名输入有误!"; //表示没有相应的行
objDataReader.Close();
return;
}
else if(objDataReader.GetString(2)!=Originpw.Text)
{
error.Text="密码验证错误!"; //表示有相应的行,但是密码验证不正确 return;
}
{
error.Text="密码验证错误!"; //表示有相应的行,但是密码验证不正确
objDataReader
.Close()。
return;
}