PDA

View Full Version : سوال: ويرايش یک رکورد در بانک باعث بروز خطای Syntax Error می شود. چرا؟



ahmad1345
جمعه 20 فروردین 1389, 13:04 عصر
دوستان عزيز در هنگام ويرايش يك ركورد اين ارور را ميده لطفا كمك كنيد
:گریه:

http://barnamenevis.org/forum/attachment.php?attachmentid=46771&stc=1&d=1270804327

spring69
جمعه 20 فروردین 1389, 15:36 عصر
سلام اگر میخوای فیلد doreimoradiid رو مساوی mnid قرار بدی، باید قبل از doreimoradiid ، کاما(,) بزاری.
که در اینصورت کد update اینطوری مشه:



PubSqlCom.CommandText = "UPDATE DoreiMoredi SET MozoDo =N'" & Mbaz.Text & "', NumberBazras ='" & Mtedad.Text & "', TimeBazraci =N'" & Mmodat.Text & "',DateBazraci ='" & Mtarikh.Text & "', Manategh ='" & Mmanta.Text & "',Eghdam ='" & Meghdam.Text & "',Mount ='" & Montht(mo) & "',Type =N'" & ComboMo.SelectedIndex & "',ManateghID =N'" & mantid & "', DoreiMorediID ='" & mnid & "'"

اگرم میخوای یه شرط بزاری که فقط رکوردهایی که فیلد doreimoradiid اونها مساوی mnid است تغییر کنن، باید قبل از doreimoradiid ، کلمه where رو بزاری.
که در اینصورت کد update اینطوری مشه:


PubSqlCom.CommandText = "UPDATE DoreiMoredi SET MozoDo =N'" & Mbaz.Text & "', NumberBazras ='" & Mtedad.Text & "', TimeBazraci =N'" & Mmodat.Text & "',DateBazraci ='" & Mtarikh.Text & "', Manategh ='" & Mmanta.Text & "',Eghdam ='" & Meghdam.Text & "',Mount ='" & Montht(mo) & "',Type =N'" & ComboMo.SelectedIndex & "',ManateghID =N'" & mantid & "' where DoreiMorediID ='" & mnid & "'"

در ضمن بجای کد زیر:


PubSqlCom.executereader()
باید بنویسی:


PubSqlCom.ExecuteNonQuery()

ahmad1345
جمعه 20 فروردین 1389, 22:37 عصر
دوست عزیز این کار رو قبلا کردم همین ارور را می داد

ebrahimv
جمعه 20 فروردین 1389, 23:16 عصر
آیا همه فیلد های شما از نوع رشته هست؟
اگه بله که هیچی
اگه نه شما تمام فیلد هاتون رو به صورت رشته میگیرید.
راستی روش های بهتری برای این کار است
مثلا استفاده از TableAdaptor که خیلی امکانات زیادی داره

ahmad1345
جمعه 20 فروردین 1389, 23:45 عصر
استفاده از TableAdaptor را بیشتر توضیح بدید

spring69
شنبه 21 فروردین 1389, 01:00 صبح
از کد زیر استفاده کن ببین جواب میده:



Pubsqlcom.CommandText = "UPDATE DoreiMoredi SET MozoDo =@mozodo,NumberBazras=@NumberBazras,TimeBazraci=@T imeBazraci,DateBazraci=@DateBazraci,Manategh=@Mana tegh,Eghdam=@Eghdam,Mount=@Mount,Type=@Type,Manate ghID=@ManateghID,DoreiMorediID=@DoreiMorediID"
Pubsqlcom.Parameters.AddWithValue("@mozodo", Mbaz.Text)
Pubsqlcom.Parameters.AddWithValue("@NumberBazras", Mtedad.Text)
Pubsqlcom.Parameters.AddWithValue("@TimeBazraci", Mmodat.Text)
Pubsqlcom.Parameters.AddWithValue("@DateBazraci", Mtarikh.Text)
Pubsqlcom.Parameters.AddWithValue("@Manategh", Mmanta.Text)
Pubsqlcom.Parameters.AddWithValue("@Eghdam", Meghdam.Text)
Pubsqlcom.Parameters.AddWithValue("@Mount", Montht(mo))
Pubsqlcom.Parameters.AddWithValue("@Type", ComboMo.SelectedIndex)
Pubsqlcom.Parameters.AddWithValue("@ManateghID", ComboMo.SelectedIndex)
Pubsqlcom.Parameters.AddWithValue("@DoreiMorediID", mnid.Text)

spring69
شنبه 21 فروردین 1389, 01:58 صبح
خواهش میکنم دوست عزیز.
خوب باید یه شرط براش بذاری.


Pubsqlcom.CommandText = "UPDATE DoreiMoredi SET MozoDo =@mozodo,NumberBazras=@NumberBazras,TimeBazraci=@T imeBazraci,DateBazraci=@DateBazraci,Manategh=@Mana tegh,Eghdam=@Eghdam,Mount=@Mount,Type=@Type,Manate ghID=@ManateghID,DoreiMorediID=@DoreiMorediID where DoreiMorediID=@id"
Pubsqlcom.Parameters.AddWithValue("@mozodo", Mbaz.Text)
Pubsqlcom.Parameters.AddWithValue("@NumberBazras", Mtedad.Text)
Pubsqlcom.Parameters.AddWithValue("@TimeBazraci", Mmodat.Text)
Pubsqlcom.Parameters.AddWithValue("@DateBazraci", Mtarikh.Text)
Pubsqlcom.Parameters.AddWithValue("@Manategh", Mmanta.Text)
Pubsqlcom.Parameters.AddWithValue("@Eghdam", Meghdam.Text)
Pubsqlcom.Parameters.AddWithValue("@Mount", Montht(mo))
Pubsqlcom.Parameters.AddWithValue("@Type", ComboMo.SelectedIndex)
Pubsqlcom.Parameters.AddWithValue("@ManateghID", ComboMo.SelectedIndex)
Pubsqlcom.Parameters.AddWithValue("@DoreiMorediID", mnid.Text)
Pubsqlcom.Parameters.AddWithValue("@ID", "ID")


که در خط آخر باید به جای "ID" ، آیدی رکوردی رو که میخوای ویرایش بشه وارد کنی.
موفق باشی.

ahmad1345
شنبه 21 فروردین 1389, 09:34 صبح
mnid.Text ای دی همون رکورد است. از لطف شما وارسال پاسخ ممنونم

ahmad1345
شنبه 21 فروردین 1389, 09:42 صبح
با تشکر از دوستان عزیز ندیده

همیشه موفق و سر بلند باشید.مشکل حل شد