日期:2014-05-18  浏览次数:20554 次

注册页面向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