在做用户注册,如果数据库有用户同名,就提示用户,如果用sql语句怎样写?
"insert into customer(cname,cpw,csex,cqq,cmail,caddress,chead,cinstroduce) values('"+cname+"','"+cpw+"','"+csex+"','"+cqq+"','"+cmail+"','"+caddress+"','"+chead+"','"+cinstroduce+");这句可以先在sql判断没有同名才插入吗?
"insert into customer(cname,cpw,csex,cqq,cmail,caddress,chead,cinstroduce) values('"+cname+"','"+cpw+"','"+csex+"','"+cqq+"','"+cmail+"','"+caddress+"','"+chead+"','"+cinstroduce+");这句可以先在sql判断没有同名才插入吗?
@cname varchar(10),
--...其他参数
as
IF exists (SELECT 1 FROM customer WHERE cname = @cname)
return -1
else
insert into customer(cname,cpw,csex,cqq,cmail,caddress,chead,cinstroduce) values
(@cname,@cpw,@csex,@cqq,@cmail,@caddress,@chead,@cinstroduce)
select count(*) from 用户表 where 用户名=注册的用户名
if 返回值>0
注册失败,该用户已存在
else
insert
try
{
insert
}
catch(Exception e)
{
用户名忆存在
}
finally
{
关闭连接
}
这样有一个缺点
如果是注册失败
都是提示用户名已存在
确保程序没问题
这种方法还是可行的
IF EXISTS
(
SELECT Name FROM Admin WHERE Name=@Name
)
RETURN 1
ELSE
INSERT INTO Admin (Name) VALUES (@Name)