Jean Reno
یک شنبه 28 مهر 1387, 15:36 عصر
با سلام من توی فرمم یه بخش جستجو گذاشتم که از طریق یک فیلد جستجو رو انجام می ده
دفعه اول جستجو خیلی خوب و کامل انجام می شه اما وقتی که جستجوی دوم و سوم و ... رو انجام می دهم پیغام خطای زیر رو می ده
The variable name '@id' has already been declared. Variable names must be unique within a query batch or stored procedure.
کد تابع جستجویی رو که نوشتم رو در پایین می زارم
private void Search_data()
{
string Mystr = "SELECT * FROM Aza where Id=@id";
if (textBox7.Text != "")
{
dataSet21.Clear();
SqlCommand mycomm = new SqlCommand(Mystr, sqlConnection1);
mycomm.Parameters.AddWithValue("@id", textBox7.Text);
sqlConnection1.Open();
SqlDataReader sdr = mycomm.ExecuteReader();
if (sdr.Read())
{
sqlConnection1.Close();
sqlDataAdapter1.SelectCommand.Connection = sqlConnection1;
sqlDataAdapter1.SelectCommand.CommandText = Mystr;
sqlDataAdapter1.SelectCommand.Parameters.AddWithVa lue("@id", textBox7.Text);
dataSet21.Clear();
sqlConnection1.Open();
sqlDataAdapter1.Fill(dataSet21, "Aza");
dataGridView1.Refresh();
sdr.Close();
sqlConnection1.Close();
}
else
{
sqlConnection1.Close();
MessageBox.Show("موردی یافت نشد", "خطای کاربر", MessageBoxButtons.OK, MessageBoxIcon.Information);
Show_data();
}
}
else
MessageBox.Show("کد عضویت را برای جستجو وارد کنید", "خطای کاربر", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
دفعه اول جستجو خیلی خوب و کامل انجام می شه اما وقتی که جستجوی دوم و سوم و ... رو انجام می دهم پیغام خطای زیر رو می ده
The variable name '@id' has already been declared. Variable names must be unique within a query batch or stored procedure.
کد تابع جستجویی رو که نوشتم رو در پایین می زارم
private void Search_data()
{
string Mystr = "SELECT * FROM Aza where Id=@id";
if (textBox7.Text != "")
{
dataSet21.Clear();
SqlCommand mycomm = new SqlCommand(Mystr, sqlConnection1);
mycomm.Parameters.AddWithValue("@id", textBox7.Text);
sqlConnection1.Open();
SqlDataReader sdr = mycomm.ExecuteReader();
if (sdr.Read())
{
sqlConnection1.Close();
sqlDataAdapter1.SelectCommand.Connection = sqlConnection1;
sqlDataAdapter1.SelectCommand.CommandText = Mystr;
sqlDataAdapter1.SelectCommand.Parameters.AddWithVa lue("@id", textBox7.Text);
dataSet21.Clear();
sqlConnection1.Open();
sqlDataAdapter1.Fill(dataSet21, "Aza");
dataGridView1.Refresh();
sdr.Close();
sqlConnection1.Close();
}
else
{
sqlConnection1.Close();
MessageBox.Show("موردی یافت نشد", "خطای کاربر", MessageBoxButtons.OK, MessageBoxIcon.Information);
Show_data();
}
}
else
MessageBox.Show("کد عضویت را برای جستجو وارد کنید", "خطای کاربر", MessageBoxButtons.OK, MessageBoxIcon.Error);
}