PDA

View Full Version : خطایSyntax error in WHERE clause.در تابع جستجو



loknatesabz
چهارشنبه 21 دی 1390, 07:22 صبح
سلام
من در حین اجرای برنامه ام به خطای Syntax error in WHERE clause. برخورد کردم . میدونم از محتوای شرط WHERE ایراد گرفته اما نمیدونم برای برطرف شدنش چیکار باید بکنم یعنی نمیدونم کجای برنامه مشکل داره.ممنون میشم راهنماییم کنید.
برنامه و خطاش رو پایین میذارم.

80574
80573

spinelruby
چهارشنبه 21 دی 1390, 14:59 عصر
دستوری که where توش هست رو بذار.

loknatesabz
چهارشنبه 21 دی 1390, 19:16 عصر
سلام اینم کل کدم...

private void button2_Click(object sender, EventArgs e)
{
dataGridView1.Rows.Clear();
OleDbConnection con2 = new OleDbConnection();
con2.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=taxi.mdb";
con2.Open();
OleDbCommand c2 = new OleDbCommand();
dataGridView1.Rows.Clear();
if (textBox1.Text != "")
switch (comboBox1.SelectedIndex)
{
case '0':
c2.CommandText = "select * from service where scode<>'-1000' and sdate like'" + textBox1.Text + "'";
break;
case '1':
c2.CommandText = "select * from service where scode<>'-1000' and sdate<'" + textBox1.Text + "'";
break;
case '2':
c2.CommandText = "select * from service where scode<>'-1000' and sdate>'" + textBox1.Text + "'";
break;
case '4':
c2.CommandText = "select * from service where scode<>'-1000' and sdate=" + "'----''" + textBox1.Text + "'" + "'--'";
break;
case '5':
c2.CommandText = "select * from service where scode<>'-1000' and sdate='" + textBox1.Text + "'" + "'----'";
break;
}
if ((comboBox1.SelectedIndex == 3) && (textBox1.Text != "") && (textBox2.Text != ""))
c2.CommandText = "select * from service where sdate<'" + textBox1.Text + "'" + "and sdate" + ">'" + textBox2.Text + "'";
c2.Connection = con2;
OleDbDataReader dr = c2.ExecuteReader();
dataGridView2.Rows.Clear();
object[] x = new object[8];
while (dr.Read())
{
dr.GetValues(x);
dataGridView1.Rows.Add(x);
}
con2.Close();

}

nedata
پنج شنبه 22 دی 1390, 15:00 عصر
سلام
شما چرا از علامت -- در كدتان استفاده كرده ايد ؟ اين علامت در اس كيو ال هرجا كه باشد به عنوان كامنت مي باشد

loknatesabz
جمعه 23 دی 1390, 18:26 عصر
مجددا سلام
من میخوام به اندازه 4 تا کاراکتر جای خالی داشته باشم و بعد کاربر دو کاراکتری که وارد textbox کرده رو داشته باشم و بعد دو کاراکتر دیگه یعنی به عبارت بهتر میخوام دو کاراکتری که کاربر به عنوان ماه وارد textbox کرده رو با ماه مربوط در فیلد تاریخم توی دیتا بیس مقایسه کنم مثلا کاربر 09 رو وارد textbox میکنه من میخوام دستور sql بنویسم که بتونم این عدد رو بگیرم و با تمام رکورد هایی که ماه تاریخشون( تو فیلد sdate ) یکی هست رو استخراج کنم و داخل گرید ویو نمایش بدم.ممنون میشم راهنماییم کنید.

nedata
جمعه 23 دی 1390, 19:10 عصر
دستور زير كمك مي كنه

Select *
From TableName
where substring(fieldName,6,2)=substring(textbox,6,2)