可以使用参数传递啊 sql = "update UserInfo set Password = @PASSWORD Where User=@User"; SqlParameter[] parameters = new SqlParameter[] { new SqlParameter(@PASSWORD,textBox3.Text.Trim()), new SqlParameter(@User,textBox1.Text.Trim()), };int a =0; SqlConnection con = new SqlConnection("数据库连接语句") using (OracleCommand cmd = new OracleCommand(sql, con)) { cmd.Parameters.AddRange(parameters); a = Convert.ToInt32(cmd.ExecuteScalar().ToString()); cmd.Clone(); cmd.Dispose(); }if(a>0) { //成功 } else { //失败 }
SqlParameter[] parameters = new SqlParameter[] { new SqlParameter(@PASSWORD,textBox3.Text.Trim()), new SqlParameter(@User,textBox1.Text.Trim()) }; 第三行的最后一个逗号去掉
你不用再加引号了。
where前面有'隔开 不影响where
楼主你把sql 输出来啊
{
DB.cn.Close();
DB.cn.Open();
cmd.ExecuteNonQuery();
DB.cn.Close();
this.Close();
MessageBox.Show("密码修改成功!", "成功提示");
}你看下你try下面为什么数据库先关了然后再开然后再关呢...
用方括号括起来,像27楼的。
以后这样的题目最好不要放在论坛上来,学会自己动手解决问题,以后你写程序难道还把我们大家带在身边不成
以后这样的题目最好不要放在论坛上来,学会自己动手解决问题,以后你写程序难道还把我们大家带在身边不成
以后这样的题目最好不要放在论坛上来,学会自己动手解决问题,以后你写程序难道还把我们大家带在身边不成
SQL组合的时候不要 '
sql = "update UserInfo set Password = @PASSWORD Where User=@User";
SqlParameter[] parameters = new SqlParameter[]
{
new SqlParameter(@PASSWORD,textBox3.Text.Trim()),
new SqlParameter(@User,textBox1.Text.Trim()),
};int a =0;
SqlConnection con = new SqlConnection("数据库连接语句")
using (OracleCommand cmd = new OracleCommand(sql, con))
{
cmd.Parameters.AddRange(parameters);
a = Convert.ToInt32(cmd.ExecuteScalar().ToString());
cmd.Clone();
cmd.Dispose();
}if(a>0)
{
//成功
}
else
{
//失败
}
{
new SqlParameter(@PASSWORD,textBox3.Text.Trim()),
new SqlParameter(@User,textBox1.Text.Trim())
};
第三行的最后一个逗号去掉