0
جستجو در sql
با سلام
من یک خط دستور برای یافتن ماشین هایی با شماره خاص طراحی کردم که توی ماه خاص بارنامه هاشون رو ثبت کردم حالا می خوام از طریق کد زیر ازش یه خروجی برای کریستال ریپورت بگیرم پیغام خطا میده نمی دونم چکار کنم
//رانندگان CrystalReport_driving objRpt = new CrystalReport_driving(); da = new SqlDataAdapter("SELECT * FROM Tbl_hafari WHERE id_month=" + month(comboBox1.Text) + "and number_naft="+comboBox2.Text, con);// number_naft like% + comboBox2.Text.Trim() da.Fill(ds, "Tbl_hafari"); objRpt.Load(Application.StartupPath + @"\CrystalReport_driving.rpt");
پیغام زیر رو میده
نوع فیلدی که از خطا صادر میشه از نوع nvarchar با سایز 15 هستش
1 پاسخ
0
سلام دوست عزیز.
کوئری که شما نوشتید دو تا خطای نحوی داره یکی اینه که بین متد month و کلمه and باید یک فاصله وجود داشته باشه که نتیجه برگشتی متد با کلمه and ادغام نشه. مورد دوم اینه که فیلد number_naft از نوع string هستش و مقادیر string در sql server باید بین دوتا کوتیشن قرار بگیره. فقط ی کم توجه نیازه زمانی که کد میزنید
var query = $"SELECT * FROM Tbl_hafari WHERE id_month= {month(comboBox1.Text)} and number_naft='{comboBox2.Text}'"; da = new SqlDataAdapter(query, con);