PDA

View Full Version : سوال: مقایسه مقادیر دو تیبل



neda_dela
پنج شنبه 01 بهمن 1388, 22:38 عصر
سلام دوستان
من 2 تا گرید تو فرمم دارم که هر کدوم به تیبل های مجزایی متصل هستن . همه تیبل های من هم یه فیلد کلید دارن که توی همه تیبل ها مشترک هست به عبارتی هر شخص توی تمام رکورد ها با کد مخصوص به خودش شناخته میشه.
حالا من میخام از گرید2 رکوردی رو انتخاب کنم و همزمان با این انتخاب مقایسه بشه که آیا رکوردی در گرید 1 هست که فیلد کد و یه تعداد دیگه از فیلد های مشترک اونها با هم برابر باشن؟
خودم این کد رو استفاده کردم:


private void dataGridView2_SelectionChanged(object sender, EventArgs e)
{
string id = "";
string sa = "";
string term = "";
string year = "";
try
{
if (dataGridView2.SelectedRows.Count > 0)
{
id = dataGridView2.CurrentRow.Cells[1].Value.ToString();
int a = Convert.ToInt32(id);
sa = dataGridView2.CurrentRow.Cells[4].Value.ToString();
term = dataGridView2.CurrentRow.Cells[5].Value.ToString();
year = dataGridView2.CurrentRow.Cells[6].Value.ToString() ;
com.CommandText = "select * from [st-result] where id=" + a + "sath=" + sa + "term=" + term + "years=" + year;
com.Connection = myConnection;
com.CommandType = CommandType.Text;
da.SelectCommand = com;
da.Fill(dt);
dataGridView1.DataSource = dt;
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}

ولی وقتی به خط :
da.Fill(dt); می رسه این پیغام خطا رو میده:

incorrect syntax near 'sath'.

rezatati
پنج شنبه 01 بهمن 1388, 23:50 عصر
تو دستور Select باید فاصله هم بزاری یعنی کدتو به صورت زیر اصلاح کن


com.CommandText = "select * from [st-result] where id=" + a + " sath=" + sa + " term=" + term + " years=" + year;

neda_dela
جمعه 02 بهمن 1388, 14:52 عصر
تو دستور Select باید فاصله هم بزاری یعنی کدتو به صورت زیر اصلاح کن


com.CommandText = "select * from [st-result] where id=" + a + " sath=" + sa + " term=" + term + " years=" + year;

مرسی من کدتون رو کپی کردم مثل کد خودم بود یعنی فاصله هاش مثل هم بود

slashslash2009
جمعه 02 بهمن 1388, 16:41 عصر
اگر بخوای بیشتر از یک مقدار رو جلوی شرط where قرار بدی باید از and یا or استفاده کنی و اگر مقدارتون از جنس رشته هست باید اونو در میان دوتا کتیشن قرار بدین :

("Select * from table where name='" + comboBox1.Text + "'and family='" + comboBox2.Text + "'");البته and و or خیلی باهم فرق دارند