emperor8778
سه شنبه 07 اردیبهشت 1389, 21:29 عصر
با سلام
سایتی طراحی کردم. توی این سایت یه صفحه دارم که قراره بعد از ثبت نام کاربر، اطلاعات تکمیلی رو از کاربر بگیره و در بانک ذخیره کنه. دو روش کدنویسی ای که قبلا کار می کردم رو تست کردم، ولی با هر دو روش به یه همچین خطایی برخورد کردم :
An SqlParameter with ParameterName '@username' is not contained by this SqlParameterCollection.
کدهایی که نوشتم اینا بودن :
SqlConnection conn = null;
SqlTransaction trans = null;
SqlCommand cmd;
string strcon = "Data Source=MILAD-PC\\SQLEXPRESS;Initial Catalog=gcd;Integrated Security=True";
conn = new SqlConnection(strcon);
conn.Open();
trans = conn.BeginTransaction();
cmd = new SqlCommand();
cmd.Connection = conn;
cmd.Transaction = trans;
cmd.CommandText = "insert into details(username,fname,lname,burn,state,city,addre ss,postcode,tel) values (@username,@fname,@lname,@burn,@state,@city,@addre ss,@postcode,@tel)";
cmd.Parameters.Add("username", SqlDbType.UniqueIdentifier);
cmd.Parameters.Add("fname", SqlDbType.NVarChar, 25);
cmd.Parameters.Add("lname", SqlDbType.NVarChar, 30);
cmd.Parameters.Add("burn", SqlDbType.NVarChar, 18);
cmd.Parameters.Add("state", SqlDbType.NVarChar, 21);
cmd.Parameters.Add("city", SqlDbType.NVarChar, 30);
cmd.Parameters.Add("address", SqlDbType.NVarChar, 250);
cmd.Parameters.Add("postcode", SqlDbType.NVarChar, 11);
cmd.Parameters.Add("tel", SqlDbType.NVarChar, 12);
cmd.Parameters["@username"].Value = Label2.Text;
cmd.Parameters["@fname"].Value = TextBox2.Text;
cmd.Parameters["@lname"].Value = TextBox3.Text;
string day = DropDownList2.SelectedItem.ToString();
string month = DropDownList3.SelectedItem.ToString();
string year = DropDownList4.SelectedItem.ToString();
cmd.Parameters["@burn"].Value = day + " " + month + " " + year;
cmd.Parameters["@state"].Value = DropDownList1.SelectedItem.ToString();
cmd.Parameters["@city"].Value = TextBox6.Text;
cmd.Parameters["@address"].Value = TextBox7.Text;
cmd.Parameters["@postcode"].Value = TextBox8.Text;
cmd.Parameters["@tel"].Value = TextBox9.Text;
cmd.ExecuteNonQuery();
conn.Close();
Response.Redirect("default.aspx");کدهای سری دوم :
SqlConnection con = new SqlConnection("Data Source=MILAD-PC\\SQLEXPRESS;Initial Catalog=gcd;Integrated Security=True");
string q = "insert into details(username,fname,lname,burn,state,city,addre ss,postcode,tel) values (@username,@fname,@lname,@burn,@state,@city,@addre ss,@postcode,@tel)";
SqlCommand command1 = new SqlCommand(q, con);
SqlParameter param1 = new SqlParameter("username", SqlDbType.UniqueIdentifier);
SqlParameter param2 = new SqlParameter("fname", SqlDbType.NVarChar,25);
SqlParameter param3 = new SqlParameter("lname", SqlDbType.NVarChar,30);
SqlParameter param4 = new SqlParameter("burn", SqlDbType.NVarChar,18);
SqlParameter param5 = new SqlParameter("state", SqlDbType.NVarChar,21);
SqlParameter param6 = new SqlParameter("city", SqlDbType.NVarChar,30);
SqlParameter param7 = new SqlParameter("address", SqlDbType.NVarChar,250);
SqlParameter param8 = new SqlParameter("postcode", SqlDbType.NVarChar,11);
SqlParameter param9 = new SqlParameter("tel", SqlDbType.NVarChar,12);
command1.Parameters.Add(param1);
command1.Parameters.Add(param2);
command1.Parameters.Add(param3);
command1.Parameters.Add(param4);
command1.Parameters.Add(param5);
command1.Parameters.Add(param6);
command1.Parameters.Add(param7);
command1.Parameters.Add(param8);
command1.Parameters.Add(param9);
command1.Parameters["@username"].Value = Label2.Text;
command1.Parameters["@fname"].Value = TextBox2.Text;
command1.Parameters["@lname"].Value = TextBox3.Text;
string day = DropDownList2.SelectedItem.ToString();
string month = DropDownList3.SelectedItem.ToString();
string year = DropDownList4.SelectedItem.ToString();
command1.Parameters["@burn"].Value = day + month + year;
command1.Parameters["@state"].Value = DropDownList1.SelectedItem.ToString();
command1.Parameters["@city"].Value = TextBox6.Text;
command1.Parameters["@address"].Value = TextBox7.Text;
command1.Parameters["@postcode"].Value = TextBox8.Text;
command1.Parameters["@tel"].Value = TextBox9.Text;
con.Open();
command1.ExecuteNonQuery();
con.Close();
Response.Redirect("default.aspx");
لطفا اگه ممکنه راهنمایی کنین. حتماً یه جای کار اشکال داره.
سایتی طراحی کردم. توی این سایت یه صفحه دارم که قراره بعد از ثبت نام کاربر، اطلاعات تکمیلی رو از کاربر بگیره و در بانک ذخیره کنه. دو روش کدنویسی ای که قبلا کار می کردم رو تست کردم، ولی با هر دو روش به یه همچین خطایی برخورد کردم :
An SqlParameter with ParameterName '@username' is not contained by this SqlParameterCollection.
کدهایی که نوشتم اینا بودن :
SqlConnection conn = null;
SqlTransaction trans = null;
SqlCommand cmd;
string strcon = "Data Source=MILAD-PC\\SQLEXPRESS;Initial Catalog=gcd;Integrated Security=True";
conn = new SqlConnection(strcon);
conn.Open();
trans = conn.BeginTransaction();
cmd = new SqlCommand();
cmd.Connection = conn;
cmd.Transaction = trans;
cmd.CommandText = "insert into details(username,fname,lname,burn,state,city,addre ss,postcode,tel) values (@username,@fname,@lname,@burn,@state,@city,@addre ss,@postcode,@tel)";
cmd.Parameters.Add("username", SqlDbType.UniqueIdentifier);
cmd.Parameters.Add("fname", SqlDbType.NVarChar, 25);
cmd.Parameters.Add("lname", SqlDbType.NVarChar, 30);
cmd.Parameters.Add("burn", SqlDbType.NVarChar, 18);
cmd.Parameters.Add("state", SqlDbType.NVarChar, 21);
cmd.Parameters.Add("city", SqlDbType.NVarChar, 30);
cmd.Parameters.Add("address", SqlDbType.NVarChar, 250);
cmd.Parameters.Add("postcode", SqlDbType.NVarChar, 11);
cmd.Parameters.Add("tel", SqlDbType.NVarChar, 12);
cmd.Parameters["@username"].Value = Label2.Text;
cmd.Parameters["@fname"].Value = TextBox2.Text;
cmd.Parameters["@lname"].Value = TextBox3.Text;
string day = DropDownList2.SelectedItem.ToString();
string month = DropDownList3.SelectedItem.ToString();
string year = DropDownList4.SelectedItem.ToString();
cmd.Parameters["@burn"].Value = day + " " + month + " " + year;
cmd.Parameters["@state"].Value = DropDownList1.SelectedItem.ToString();
cmd.Parameters["@city"].Value = TextBox6.Text;
cmd.Parameters["@address"].Value = TextBox7.Text;
cmd.Parameters["@postcode"].Value = TextBox8.Text;
cmd.Parameters["@tel"].Value = TextBox9.Text;
cmd.ExecuteNonQuery();
conn.Close();
Response.Redirect("default.aspx");کدهای سری دوم :
SqlConnection con = new SqlConnection("Data Source=MILAD-PC\\SQLEXPRESS;Initial Catalog=gcd;Integrated Security=True");
string q = "insert into details(username,fname,lname,burn,state,city,addre ss,postcode,tel) values (@username,@fname,@lname,@burn,@state,@city,@addre ss,@postcode,@tel)";
SqlCommand command1 = new SqlCommand(q, con);
SqlParameter param1 = new SqlParameter("username", SqlDbType.UniqueIdentifier);
SqlParameter param2 = new SqlParameter("fname", SqlDbType.NVarChar,25);
SqlParameter param3 = new SqlParameter("lname", SqlDbType.NVarChar,30);
SqlParameter param4 = new SqlParameter("burn", SqlDbType.NVarChar,18);
SqlParameter param5 = new SqlParameter("state", SqlDbType.NVarChar,21);
SqlParameter param6 = new SqlParameter("city", SqlDbType.NVarChar,30);
SqlParameter param7 = new SqlParameter("address", SqlDbType.NVarChar,250);
SqlParameter param8 = new SqlParameter("postcode", SqlDbType.NVarChar,11);
SqlParameter param9 = new SqlParameter("tel", SqlDbType.NVarChar,12);
command1.Parameters.Add(param1);
command1.Parameters.Add(param2);
command1.Parameters.Add(param3);
command1.Parameters.Add(param4);
command1.Parameters.Add(param5);
command1.Parameters.Add(param6);
command1.Parameters.Add(param7);
command1.Parameters.Add(param8);
command1.Parameters.Add(param9);
command1.Parameters["@username"].Value = Label2.Text;
command1.Parameters["@fname"].Value = TextBox2.Text;
command1.Parameters["@lname"].Value = TextBox3.Text;
string day = DropDownList2.SelectedItem.ToString();
string month = DropDownList3.SelectedItem.ToString();
string year = DropDownList4.SelectedItem.ToString();
command1.Parameters["@burn"].Value = day + month + year;
command1.Parameters["@state"].Value = DropDownList1.SelectedItem.ToString();
command1.Parameters["@city"].Value = TextBox6.Text;
command1.Parameters["@address"].Value = TextBox7.Text;
command1.Parameters["@postcode"].Value = TextBox8.Text;
command1.Parameters["@tel"].Value = TextBox9.Text;
con.Open();
command1.ExecuteNonQuery();
con.Close();
Response.Redirect("default.aspx");
لطفا اگه ممکنه راهنمایی کنین. حتماً یه جای کار اشکال داره.