关于.net添加判断是否已存在的问题

来源:百度知道 编辑:UC知道 时间:2024/05/24 06:07:17
本人做的是一个用户注册页面,再添加用户时需要判断一下有没有用户已经注册,如已注册就跳出提示框,没有就添加进去。本人写了一段代码(c#),结果只要按下注册按钮都会跳出已有该用户的提示框,且什么也加不进去。代码如下,希望大虾们多多帮忙~
//第一步 打开数据库
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "server=.;uid=sa;pwd=sa;database=text";
conn.Open();
//第二步 执行SQL
string sql;

sql = "select * from suerT where username='" + Teb1.Text + "'";
if (sql!="")
{ Response.Write("<script language='javascript'>alert('此用户已存在!');</script>"); } //判断结果

else
{
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandType = CommandType.Text;
cmd.CommandText = "insert into suerT(username,passwd,sex,birthday) values('" + Teb1.Text + "','" + Teb2.Text + "','" + Dropsex.SelectedItem.Value.ToString

if (Ds.Tables[0].Rows.Count > 0)
{ Response.Write("<script language='javascript'>alert('此用户已存在!');</script>"); }

string sql;

sql = "select * from suerT where username='" + Teb1.Text + "'";
这两行,你给一个string类型的sql赋值"select * from suerT where username='" + Teb1.Text + "'";
然后判断(sql!=null)永远不等于null;
"select * from suerT where username='" + Teb1.Text + "'";
你这句话执行过没??我怀疑!如果执行过的话返回的也不是你写的那么简单啊?用dataset或者output类型
去实现是否存在当前用户。

明显与问题啊,sql不为空提示存在了,而且你的sql始终都不是空的啊。改下:
先创建个command执行sql,定义个集合保存sql的查询结果,如果结果集合不为空,那么跳出提示已存在。
你直接判断sql语句是不是空,当然不是了。你的sql根本没有执行。

那个判断语句,你可以用一个SqlDataReader接受,然后再用BOOL值判断
根据的你写法 定义一个全局变量static SqlDataReader data;

BOOL bool=false;
name=Teb1.Text;
String a = "select * from suerT";
SqlCommand cmd = new SqlCommand(a, conn);
data=c