PDA

View Full Version : خطاSyntax error in FROM clause.... System.Data.OleDb.OleDbErrorCollection -



saman_itc
پنج شنبه 15 فروردین 1387, 12:24 عصر
من این وقتی تو دستور select از IN استفاده میکنم و به


Dim dt As New DataTable
da.Fill(dt)



میکنم این خطا رو دارم.





Dim da AsNew OleDbDataAdapter(" Select [riz] FROM Riz_t WHRE idt IN ( SELECT
A_Tabdil.id_shali,factot_shali.id FROM A_Tabdil , Factor_shali WHERE A_Tabdil.id_shali = factot_shali.id and
factot_shali.id = " & idr.Text.ToString & " ", ol_cn)


Dim dt AsNew DataTable
da.Fill(dt)
Me.riz.DataSource = dt
Me.riz.DisplayMember = "riz"


چرا IN مشکل ایجاد میکنه؟

yasser_beiraghi
پنج شنبه 15 فروردین 1387, 14:48 عصر
با سلام
من همین طوری که کد شما رو نگاه کردم
1- به جای where نوشتین WHRE
2- اگه خواسته باشین یک field رو با In تو یه table دیگه Select کنین فقط باید یک فیلد داخل پانتز داشته باشین اون هم با data type یکسان یعنی DataType - idt
مثلا کد شما هستش :

Select [riz] FROM Riz_t WHRE idt IN ( SELECT A_Tabdil.id_shali,factot_shali.id FROM...

ولی باید باشه :
Select [riz] FROM Riz_t WHeRE idt IN ( SELECT [your field] FROM...
و اگه بخوام یه پیشنهاد دیگه در موارد مشابه بکنم اینه که دستورات sql رو تو محیط database مستقیم چک کن تا حداقل بدونی syntax دستورات sql مشکل داره یا کد های برنامه نویسیت.
موفق باشی

saman_itc
پنج شنبه 15 فروردین 1387, 14:53 عصر
ممنونم.به این تاپیک یه نگاه بندازین
http://barnamenevis.org/forum/showthread.php?t=99977
نظر تون در مورد این دستور SELECT چیه؟

saman_itc
پنج شنبه 15 فروردین 1387, 16:13 عصر
همانطور که دوستمون گفتن مشکل ساختاری بود و با تغییر کد حداقل خطا نمیده ولی هیچ چیزی رو هم نمی آره.دارم رو شرطش فکر میکنم
پیشاپیش از کمکتون ممنونم




Dim da As New OleDbDataAdapter(" Select riz FROM Riz_t WHERE idt IN (SELECT
A_Tabdil.id_shali FROM A_Tabdil WHERE A_Tabdil.id_shali = " & Val
(idr.Text.ToString) & ") ", ol_cn)