问题描述
- sql语句删除一条记录有问题,毕业设计帮帮忙,能帮帮我吗?
-
enter code here
DB db = new DB();
string UserName = this.txtUserName.Text;
string PassWord = db.GetMD5(this.txtPwd.Text.ToString());//MD5加密
string Code = this.txtCode.Text;
string cmdstr = "insert into tb_User(UserName,PassWord,Code) values('" + UserName + "','" + PassWord + "','"+ Code + "')";
string instr = "delete from tb_Code where?Code='" + Code + "'";
try
{
reValue = db.sqlEx(cmdstr+"union "+instr);if (reValue == 1) { Response.Write("<script>alert('注册成功!');</script>"); Clear();//清空文本框 } else if (reValue == 0) { Response.Write("<script>alert('注册失败!');</script>"); } } catch (Exception ee) { Response.Write("<script>alert('注册失败!');</script>"); } }
加粗的地方有问题。我把加粗那段语句还有相关语句去了,运行效果正常,但是,tb_Code 那张表该条信息还在。。我想弄一个注册页面:用户输入 用户名,密码,邀请码。注册内容保存到tb_User里。然后,将tb_Code里的相应邀请码删除。但是,加粗那段语句有问题,我不知怎么解决。求大神帮忙
tb_Code表 内包括 CodeID (int),Code(nvchar(50)),UnUsed(bit);
tb_User表 内包括 UserID(int),UserName(nvchar(20)),PassWord(nvchar(30)),
Code(nvchar(50))tb_Code 调用没有问题,我有另外一个代码运行
string str1 = "select Code from tb_Code where Code ='" + this.txtCode.Text + "'";
运行正常。。求大神为我指点啊。
解决方案
db.sqlEx(cmdstr+"union "+instr)
这样拼出的语句数据库是执行不成功的,Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序;
insert into tb_User(UserName,PassWord,Code) values('aa','bb','cc')
union
delete from tb_Code where Code='cc';
将 db.sqlEx(cmdstr+"union "+instr)
改为
db.sqlEx(cmdstr+";"+instr)