PDA

View Full Version : خطا هنگام جستجو در دیتابیس



mahdi68
سه شنبه 12 بهمن 1389, 18:57 عصر
سلام
من از قطعه کد زیر برای جستجو در جدول دیتابیس استفاده میکنم ولی فقط بار اول اجرا میشه و برای بار دوم خطا میده !

private void button1_Click(object sender, EventArgs e)
{
objDataAdapter.SelectCommand.CommandText = "select code,name,family,fatherName,age from bimar where name=@name and family=@family";
objDataAdapter.SelectCommand.CommandType = CommandType.Text;
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("name", textBox1.Text);
objDataAdapter.SelectCommand.Parameters.AddWithVal ue("family", textBox2.Text);
objConnection.Open();
objDataAdapter.Fill(objDataSet, "bimar");
objConnection.Close();
dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = objDataSet;
dataGridView1.DataMember = "bimar";
}
خطا هم مربوط به این قسمت هست :

objDataAdapter.Fill(objDataset,"bimar")
این هم متن خطا :
The variable name '@name' has already been declared. Variable names must be unique within a query batch or stored procedure.
برای حل این مشکل چیکار باید بکنم ؟
متشکرم.

mehdi.mousavi
سه شنبه 12 بهمن 1389, 20:16 عصر
سلام.
objDataAdapter کجا تعریف شده؟ اگر Memebr Variable این کلاس هستش، در اونصورت بار دوم، SelectCommand Parameter های شما، چهار تا میشه. چون دو تا به قبلی اضافه میشه.
خط بعد از CommandType = ... این کد رو بنویسید، ببینید مشکل رفع میشه یا خیر:


objDataAdapter.SelectCommand.Parameters.Clear();

موفق باشید.