我编写了一个按钮的Click事件,目的是当验证通过后将数据库中的数据更新。代码:private void EditSure_Click(object sender, System.EventArgs e) //按钮代码
{
if(Originame.Text==""||Originpw.Text==""||Newpw.Text=="") //假如没填完整
{
error.Text="你输入的信息不完整!";
}
else if(Newpw.Text!=ReNewpw.Text) //假如新密码2次输入不相同
{
error.Text="新密码2次输入不匹配!";
}
else //填写正确后将进行数据的上传更新...
{
string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;";
string DataBase = Server.MapPath("db/db.mdb");
strConnection += "Data Source=" + DataBase; //定义连接数据库的路径 string strSQL1 = "SELECT * FROM login where username='" + Originame.Text + "'";
OleDbConnection objConnection = new OleDbConnection(strConnection);
OleDbCommand objCommand =new OleDbCommand(strSQL1, objConnection);
OleDbDataReader objDataReader ;
objCommand.Connection.Open();
objDataReader = objCommand.ExecuteReader();
if (objDataReader.Read()==false) //如果用户名不存在
{
error.Text = "用户名输入有误!";
}
else if(objDataReader.GetString(2)!=Originpw.Text) //如果密码验证错误
{
error.Text="密码验证错误!";
}
else //一切正常,进行数据更新...
{
string strSQL2="UPDATE login SET password='"+Newpw.Text+"' WHERE id="+objDataReader.GetInt32(0); //这是我写的SQL语句
OleDbConnection myConnection = new OleDbConnection(strConnection);
OleDbCommand myCommand = new OleDbCommand (strSQL2,myConnection);
myCommand.CommandTimeout = 15;
myCommand.CommandType=CommandType.Text;
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
DataGrid1.EditItemIndex = -1;
BindDataWithSorting("");
}
Panel1.Visible=false; //更新成功后将更新面板隐藏
}
}
以上代码就是我为删除确认按钮定义的,但是编译的时候就会出现“UPDATE 语句的语法错误”然后将 myCommand.ExecuteNonQuery(); 这一行标红了。我找来找去就是不知道问题出在哪,也是我自己太菜鸟,请高手指点迷津...谢谢~~~~并且很想认识共同学习的朋友,我的QQ:287741352。
{
if(Originame.Text==""||Originpw.Text==""||Newpw.Text=="") //假如没填完整
{
error.Text="你输入的信息不完整!";
}
else if(Newpw.Text!=ReNewpw.Text) //假如新密码2次输入不相同
{
error.Text="新密码2次输入不匹配!";
}
else //填写正确后将进行数据的上传更新...
{
string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;";
string DataBase = Server.MapPath("db/db.mdb");
strConnection += "Data Source=" + DataBase; //定义连接数据库的路径 string strSQL1 = "SELECT * FROM login where username='" + Originame.Text + "'";
OleDbConnection objConnection = new OleDbConnection(strConnection);
OleDbCommand objCommand =new OleDbCommand(strSQL1, objConnection);
OleDbDataReader objDataReader ;
objCommand.Connection.Open();
objDataReader = objCommand.ExecuteReader();
if (objDataReader.Read()==false) //如果用户名不存在
{
error.Text = "用户名输入有误!";
}
else if(objDataReader.GetString(2)!=Originpw.Text) //如果密码验证错误
{
error.Text="密码验证错误!";
}
else //一切正常,进行数据更新...
{
string strSQL2="UPDATE login SET password='"+Newpw.Text+"' WHERE id="+objDataReader.GetInt32(0); //这是我写的SQL语句
OleDbConnection myConnection = new OleDbConnection(strConnection);
OleDbCommand myCommand = new OleDbCommand (strSQL2,myConnection);
myCommand.CommandTimeout = 15;
myCommand.CommandType=CommandType.Text;
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
DataGrid1.EditItemIndex = -1;
BindDataWithSorting("");
}
Panel1.Visible=false; //更新成功后将更新面板隐藏
}
}
以上代码就是我为删除确认按钮定义的,但是编译的时候就会出现“UPDATE 语句的语法错误”然后将 myCommand.ExecuteNonQuery(); 这一行标红了。我找来找去就是不知道问题出在哪,也是我自己太菜鸟,请高手指点迷津...谢谢~~~~并且很想认识共同学习的朋友,我的QQ:287741352。
解决方案 »
- windows 2003 安装VS2010 提示vc9..0 rantime错误???怎么解决??
- DropDownList的级联
- 'FW20090604$' 不是一个有效名称。请确认它不包含无效的字符或标点,且名称不太长。
- 帮忙看看这段代码,谢谢。
- foreach怎么改成for语句
- 关于双击的问题.
- 我真的用了心,哭了! 明天解决不了就跳楼了!!!
- 哪位大侠知道iphlpapi.dll???
- Image控件的超链问题
- 问高手一个简单的问题,在windows应用程序中那个combobox(下拉菜单),其中那些下拉的选项怎么加入??还有几个了下拉菜单有关联(每个
- 求一个函数返回一个整数?
- 如何使datagrid网格控件中显示的内容不能编辑
能解释一下这个是什么吗
所以当objDataReader.Read()检索到和string strSQL1 = "SELECT * FROM login where username='" + Originame.Text + "'";符合的那一行时,就有相应的id值,当执行后面的else语句时就根据这个id值再次确认,并改写后面的 password项 的值数据库中的结构为 id(主键) username password
1 admin 1111
2 user1 2222
... ... ...
Response.Write ("<script>alert('"+strSQL2+"')</scritp>");
string strSQL2="UPDATE login SET password='"+Newpw.Text+"' WHERE id= '"+objDataReader.GetInt32(0)+"'";
string pass = Newpw.Text.ToString().Trim();
string idnum = objDataReader.GetInt32(0).Tostring().Trim();
string str = "update login set password = '" + pass + "'" where id = '" + iddnum + "'";
试试看。
如果可以的话,把源代码发来看看!