在用C#做窗体设计时,怎么把textbox中的信息添加到sql数据库的表中

要求1,:当单击注册按钮时把上面5个textbox的值添加到sql数据库中表Table中
2:以上5个textbox值都不能为空,密码和确认密码不能一致,一致提示出错
3:注册的用户名在数据库中是没有的,即如果数据库中原先有相同的用户名要提示该用户名已存在,请重新输入
当单击重置按钮时,刚刚注册的那条信息将被删除
我用的是sql与C#窗体,求大侠帮帮忙了,尽量写详细点,谢谢!!
要是满意还会加分哦,呵呵

第1个回答  2012-07-01
先双击注册按钮 然后进到后台代码区,先判断非空 然后再获取用户名 到数据库去查询是否存在 要是存在就提示已存在 不存在就执行添加方法。
//这个是验证非空
public string Validate()
{
if(this.txtUserName.Text.Trim()=="")
{
return "用户名不能为空";
}else if (this.txtPassWord.Text.Trim()=="")
{
return "密码不能为空";
}else if(....)
{
........省略了 自己写。
}else
{
return "";
}
}
//这个是按钮的事件
protected void btnRegister_Click(object sender, EventArgs e)
{
if(Validate()=="")
{
if(UserNameIsExist(this.txtUserName.Text.Trim()))
{
string sql="insert into Table (UserName,Password,Address,Phone) values(@UserName,@Password,@Address,@Phone)";
List<SqlParameter> paras=new List<SqlParameter>();
paras.Add(new SqlParameter("@UserName",this.txtUserName.Text.Trim()));
paras.Add(new SqlParameter("@Password",this.txtPwd.Text.Trim()));
paras.Add(new SqlParameter("@Address",this.txtAddress.Text.Trim()));
paras.Add(new SqlParameter("@Phone",this.txtPhone.Text.Trim()));
SqlConnection connection=new SqlConnection("server=你的数据库服务器名;database=你的数据库名字;uid=sa;pwd=你的数据库连接密码");
SqlCommand cmd=new SqlCommand(sql,connection);
cmd.parameter.AddRange(paras.ToArray());
connection.Open();
if(Convert.ToInt32(cmd.ExecuteNonQuery())==1)
{
MessageBox.Show("注册成功");
}else
{
MessageBox.Show("注册失败");
}
}
else
{
MessageBox.Show("用户名已经存在!");
}
}
else
{
MessageBox.Show(Validate());
}
}
pubic bool UserNameIsExist(string Name)
{
string sql="select count(*) from Table where UserName="+Name;
SqlConnection connection=new SqlConnection("server=你的数据库服务器名;database=你的数据库名字;uid=sa;pwd=你的数据库连接密码");
SqlCommand cmd=new SqlCommand(sql,connection);
connection.Open();
int Count=Convert.ToInt32(cmd.ExcuteScalar());
connection.Close();
return Count>0?false:true;
}

一般情况重置的功能就是将文本框清空的 并不是你说的删除的功能
你要是真的想做成那样也是可以的。具体的就是从数据库查询你最新添加 的一条信息 然后删除就OK了 代码是手打的 有没有错误的 我不是很清楚 但是里面的有些参数 你自己得看看跟你写的肯定是不一样的 所以 你得更改。 这个应该是最详细的了 要是不给分 那我就白忙活了........本回答被提问者和网友采纳