PDA

View Full Version : مشکل در دو بار سرچ کردن در Database



jokerhp
جمعه 23 بهمن 1394, 16:42 عصر
سلام
این کدهای من هست

a.SelectCommand.CommandText = "Select * from sefaresh where k_ashtarak Like @N";
a.SelectCommand.Parameters.AddWithValue("@N", textBox1.Text);
a.Fill(ds, "t1");
textboxX1.Text = ds.Tables["t1"].Rows[0].ItemArray[0].ToString();
textboxX2.Text = ds.Tables["t1"].Rows[0].ItemArray[1].ToString();
textboxX3.Text = ds.Tables["t1"].Rows[0].ItemArray[2].ToString();
textboxX4.Text = ds.Tables["t1"].Rows[0].ItemArray[3].ToString();
textboxX7.Text = ds.Tables["t1"].Rows[0].ItemArray[4].ToString();
textboxX5.Text = ds.Tables["t1"].Rows[0].ItemArray[5].ToString();
وقتی برنامرو اجرا میکنم
برای بار اول سرچ میکنه
ولی وقتی میخوام دوباره سرچ کنم این ارور میده
The variable name '@N' has already been declared. Variable names must be unique within a query batch or stored procedure.

alibilgats
جمعه 23 بهمن 1394, 19:39 عصر
سلام
بار اول که اجرا میکنی پارامتر N ایجاد میشه. برای دفعات بعد باید پارامتر N رو فقط مقدادهی کنی!
خود error داره دقیق بهت میگه خطا بخاطر چیه!!:چشمک:



a.Parameters["@N"].Value = textBox1.Text;

fool66
جمعه 23 بهمن 1394, 22:51 عصر
میتونی با پاک کردن پارامتر مشکلت رو حل کنی

a.SelectCommand.CommandText = "Select * from sefaresh where k_ashtarak Like @N";
a.SelectCommand.Parameters.AddWithValue("@N", textBox1.Text);

a.SelectCommand.Parameters.Clear();

a.Fill(ds, "t1");
textboxX1.Text = ds.Tables["t1"].Rows[0].ItemArray[0].ToString();
textboxX2.Text = ds.Tables["t1"].Rows[0].ItemArray[1].ToString();
textboxX3.Text = ds.Tables["t1"].Rows[0].ItemArray[2].ToString();
textboxX4.Text = ds.Tables["t1"].Rows[0].ItemArray[3].ToString();
textboxX7.Text = ds.Tables["t1"].Rows[0].ItemArray[4].ToString();
textboxX5.Text = ds.Tables["t1"].Rows[0].ItemArray[5].ToString();

jokerhp
شنبه 24 بهمن 1394, 11:39 صبح
با این کد این ارور میده

Must declare the scalar variable "@N".

fool66
چهارشنبه 28 بهمن 1394, 14:02 عصر
دستور زیر رو یه خط بالاتر بنویس

a.SelectCommand.Parameters.Clear();