返回首页

我与一些属性如用户名,密码,出生日期,电话号码,地址,性别,邮政编码等,有没有在代码中的错误。登记表格(使用ASP.NET和C#)
但是当我运行我的网站,并填写在细节上,并按下"确定"按钮,我得到一个错误:"输入字符串的格式不正确"
plz帮助我!

代码为:
 0;

private void ExecuteInsert(string Username, string Password, string Confirmpassword, string EmailID, string Firstname, string Lastname, string Address, string City,string State, string Country, string Postalcode,string PhoneNo, string gender, string DOB)

        {

       

            SqlConnection con = new SqlConnection(" Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Online job portal\\App_Data\\database.mdf;Integrated Security=True;User Instance=True");

 

            string sql = "INSERT INTO ojb1(Username,Password,ConfirmPassword,EmailID,Firstname,Lastname,Address,City,State,Country,Postalcode,PhoneNo,Gender,DOB) VALUES" + "(@Username,@Password,@ConfirmPassword,@EmailID,@Firstname,@Lastname,@Address,@City,@State,@Country,@Postalcode,@PhoneNo,@Gender,@DOB)";

 

            try

            {

                con.Open();

                SqlCommand cmd = new SqlCommand(sql, con);

                SqlParameter[] param = new SqlParameter[14];

 

                param[0] = new SqlParameter("@Username", SqlDbType.VarChar, 50);

                param[1] = new SqlParameter("@Password", SqlDbType.VarChar, 50);

                param[2] = new SqlParameter("@ConfirmPassword", SqlDbType.VarChar, 50);

                param[3] = new SqlParameter("@EmailID", SqlDbType.VarChar, 50);

                param[4] = new SqlParameter("Firstname", SqlDbType.VarChar, 50);

                param[5] = new SqlParameter("Lastname", SqlDbType.VarChar, 50);

                param[6] = new SqlParameter("Address", SqlDbType.VarChar, 50);

                param[7] = new SqlParameter("City", SqlDbType.VarChar, 50);

                param[8] = new SqlParameter("State", SqlDbType.VarChar, 50);

                param[9] = new SqlParameter("Country", SqlDbType.VarChar, 50);

                param[10] = new SqlParameter("Postalcode", SqlDbType.Int, 100);

                param[11] = new SqlParameter("PhoneNo", SqlDbType.Int,100);

                param[12] = new SqlParameter("Gender", SqlDbType.Char, 10);

                param[13] = new SqlParameter("DOB", SqlDbType.VarChar, 50);

 



                param[0].Value = Username;

                param[1].Value = Password;

                param[2].Value = Confirmpassword;

                param[3].Value = EmailID;

                param[4].Value = Firstname;

                param[5].Value = Lastname;

                param[6].Value = Address;

                param[7].Value = City;

                param[8].Value = State;

                param[9].Value = Country;

                param[10].Value = Postalcode;

                param[11].Value = PhoneNo;

                param[12].Value = gender;

                param[13].Value = DOB;

 

                for (int i = 0; i < param.Length; i++)

                {

                    cmd.Parameters.Add(param[i]);

                }

                cmd.CommandType = CommandType.Text;

                cmd.ExecuteNonQuery();

            }

 

            catch (SqlException ex)

            {

                string msg = "Insert Error";

                msg += ex.Message;

                throw new Exception(msg);

 

            }

            finally

            {

                con.Close();

            }

           

        }

        

    

     

    

 public static void ClearControls(Control Parent)

 

    {

 

        if (Parent is TextBox)

 

        { (Parent as TextBox).Text = string.Empty; }

 

        else

 

        {

 

            foreach (Control c in Parent.Controls)

 

                ClearControls(c);

 

        }

 

    }

    protected void Next1_Click(object sender, EventArgs e)

    {

        if (password.Text == confirmpass.Text)

        {

            ExecuteInsert(username.Text, password.Text, confirmpass.Text, EmailID.Text, firstname.Text, Lastname.Text, Address.Text, City.Text, State.Text, Country.Text,Postalcode.Text,Phoneno.Text,Gender.SelectedItem.Text,DOB.Text);

            Response.Write("Record was successfully added");

            ClearControls(Page);

        }

        else

        {

            Response.Write("password did not match");

            password.Focus();

        }

    }

回答

评论会员:游客 时间:2012/02/06
。我认为,出生日期,数据库中的数据类型为datetime当你插入记录你正在服用的出生日期作为文本。纠正这个,你需要这样你的日期字符串格式转换日期{C}如果你仍然面临的问题取代这两条线codeprelang="cs"param[spanclass="code-digit"10/span].Value=spanclass="code-string""/spanspanclass="code-string"Postalcode"/span;param[spanclass="code-digit"11/span].Value=spanclass="code-string""/spanspanclass="code-string"PhoneNo"/span;/pre/code{体C3}
| T | oniyo | J ackson
评论会员:游客 时间:2012/02/06
你必须更换为INT的邮政编码和电话的价值。因为,同时宣布已宣布,为数据类型int。{的C4}
arunrv
评论会员:游客 时间:2012/02/06
科学ü尚未所示的代码,可能是其回传的问题,由于视图状态
| SwingSwis:"我认为问题在电话号码

在SQL Server的整数范围是

-2,147,483,648到2,147,483,647
所以改变UR pH值NUM从int数据类型为varchar,并再次尝试
评论会员:游客 时间:2012/02/06
Dalek戴夫:不仅有助于我们可以给要求您发布的代码做到这一点,并帮助将更加容易即将到来的:purnanandabehera
替换这两条线

{C5的}

{5233} 现在,您的问题得到解决。|