注册页面向SQL SERVER提交数据只存一个字符,是什么问题?
本人初学ASP.NET,在做注册页面时遇到个问题,就是向数据库提交信息时,只存了一个字符,比如用户名是Iloveyou,但是数据库只存了一个字符I,本人事先写了存储过程,在代码里也用到了,还有一个问题就是检查用户名是否重复的代码没有起作用,为什么啊,以下是小弟的原码,多谢大家批评指正,在下不胜感激,临屏涕零!!!!!!!!!!!
下面是所有的代码:(有些长,但是很简单)
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class register : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string strconn = "Data Source=localhost;UID=sa;PWD=********;DATABASE=MMS";
//System.Web.Configuration.WebConfigurationManager.ConnectionStrings["dsn"];
// "Data Source=localhost;UID=sa;PWD=168922hmt;DATABASE=MMS";
SqlConnection cn0 = new SqlConnection(strconn);
cn0.Open();
string mysql = "select * from city";
SqlCommand cm = new SqlCommand(mysql, cn0);
SqlDataReader dr = cm.ExecuteReader();
while (dr.Read())
{
ddl_ucityid.Items.Add(new ListItem(dr["Cname"].ToString(), dr["CID"].ToString()));
}
cn0.Close();
}
}
protected void btn_submit_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
string strconn = "Data Source=localhost;UID=sa;PWD=********;DATABASE=MMS";
SqlConnection cn = new SqlConnection(strconn);
cn.Open();
SqlCommand cm = new SqlCommand("useradd", cn);
cm.CommandType = CommandType.StoredProcedure;
cm.Parameters.Add("@UID", SqlDbType.VarChar);
cm.Parameters.Add("@Upassword", SqlDbType.VarChar);
cm.Parameters.Add("@Uquestion", SqlDbType.VarChar);
cm.Parameters.Add("@Uanswer", SqlDbType.VarChar);
cm.Parameters.Add("@Usex", SqlDbType.Bit);
cm.Parameters.Add("@Ucityid", SqlDbType.Int);
cm.Parameters.Add("@Email", SqlDbType.VarChar);
cm.Parameters["@UID"].Value = tbx_uid.Text.ToString();
cm.Parameters["@Upassword"].Value = tbx_password.Text.ToString();
cm.Parameters["@Uquestion"].Value = tbx_uquestion.Text.ToString();
cm.Parameters["@Uanswer"].Value = tbx_uanswer.Text.ToString();
if (rtn_male.Checked) cm.Parameters["@Usex"].Value = 1;
if (rtn_female.Checked) cm.Parameters["@Usex"].Value = 0;
cm.Parameters["@Ucityid"].Value = ddl_ucityid.SelectedItem.Value;
cm.Parameters["@Email"].Value = tbx_uemail.Text.ToString();
cm.ExecuteNonQuery();
cn.Close();
Response.Redirect("registersuccess.aspx");
}
}
protected void ctv_uid_ServerValidate(object source, ServerValidateEventArgs args)
{
string strconn = "Data Source=localhost;UID=sa;PWD=********;DATABASE=MMS";
SqlConnection cn