سلام
من می خوام مقدار textbox رو بریزم تو بانک
گیر کردم
به execuetnonquery گیر میده
کمک
ارورش اینه:Must declare the variable '@n'.
مقادیر رو میگیره اما زمان وارد کردن به بانک error میده
سلام
من می خوام مقدار textbox رو بریزم تو بانک
گیر کردم
به execuetnonquery گیر میده
کمک
ارورش اینه:Must declare the variable '@n'.
مقادیر رو میگیره اما زمان وارد کردن به بانک error میده
سلام.
شما بايد قبل از استفاده از پارامتر ها در C# اونا رو تعريف كني
اینم سورس
ممنون میشم اگه کمک کنید
protectedvoid Button1_Click(object sender, EventArgs e)
{
string n, f, em, a, p;
n = Request["name"];
f = Request["family"];
em = Request["email"];
a = Request["address"];
p = Request["password"];
string cs = "Persist Security Info=False;Integrated Security=true;Initial Catalog=mahsa;server=(local)";
SqlConnection myConnection = newSqlConnection(cs);
string myInsertQuery = "INSERT INTO members (name,family,email,address,password) values(@n,@f,@em,@a,@p)";
SqlCommand myCommand = newSqlCommand(myInsertQuery);
myCommand.Connection = myConnection;
myConnection.Open();
myCommand.ExecuteNonQuery();
myCommand.Parameters.Add("@n",name.Text);
myCommand.Parameters.Add("@f",family.Text);
myCommand.Parameters.Add("@em",email.Text);
myCommand.Parameters.Add("@a",address.Text);
myCommand.Parameters.Add("@p",password);
myCommand.Connection.Close();
}
سلام دوست عزیز از می تونی از نمونه کد زیر استفاده کنی
public void save_maseer(string id, string type, string name, string cost)
{
try
{
connect();
cmd.CommandText = "Insert Into maseer([id],[type],[name],[cost]) Values('" + id +
"', '" + type +
"', '" + name +
"', '" + cost + "')";
cmd.Connection = cnn;
sd.SelectCommand = cmd;
cnn.Open();
cmd.ExecuteNonQuery();
cnn.Close();
}
catch (Exception)
{
MessageBox.Show("can not save_maseer to sqlserver");
}
سلام
شما به جای parameter ها باید placeHolder ها استفاده کنید .
این اعلان باعث میشه متغیر @n به engine دیتابیس بره .myCommand.Parameters.Add("@n",name.Text);
ولی اگر از
myCommand.Parameters.AdWithValue("@n",name.Text);
استفاده کنید می تونید در دستور sql که توی کد برنامه هست ازش استفاده کنید .
مثل :
cmd.CommandText="select * from table where name=@n";
موفق باشید .
من این ارور رو بهم میده برای cmd.executeNonQuery():
The field is too small to accept the amount of data you attempted to add. Try inserting or pasting less data.
چرا؟
در سورس بالا مشکل از اینه که اول کوئری اجرا شده و بعد پارامترها پاس داده شده ، لذا باید خط اجرای کوئری رو برد بعد از ارسال پارامترهای کوئری !!!