PDA

View Full Version : یه اشکال تو برنامه من تازه کار در کار با پایگاه داده



bluedream3964
جمعه 13 اردیبهشت 1387, 18:47 عصر
سلام دوستان ( ندونستم سوالمو تو بخش پایگاه داده ایجاد کنم یا اینجا):گیج:
من به تازگی کار با پایگاه داده رو تو سی شارپ شروع کردم البته فعلا با اکسس کار میکنم.
یه برنامه کوچیکم نوشتم که خوشبختانه تو افزودن مشکل نداره اما تو اپدیت مشکل داره. من کد بخش آپدیت رو میذارم اگه کمک کنید ممنون میشم::بوس:

try
{
String cupdate = "UPDATE info SET name ='" + txtnameup.Text + "' , family='" + txtfamilyup.Text + "',byear='" + txtbyearup.Text + "',sex='" + txtsexup.Text + "',degree='" + txtdegreeup.Text + "' WHERE family=" + txtedit.Text;
OleDbConnection con = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=info.mdb");
OleDbCommand Command = new OleDbCommand(cupdate, con);
con.Open();

command.ExecuteNonQuery();
con.Close();
}
catch (OleDbException ex)
{
MessageBox.Show("Ole error:" + ex.Message, "Ole Error");
}
اروری هم که میده مربوط به این ExecuteNonQuery است که میگه پارامتری ندادم....

مهدی رحیم زاده
جمعه 13 اردیبهشت 1387, 21:43 عصر
اروری هم که میده مربوط به این ExecuteNonQuery است که میگه پارامتری ندادم....
اگر Erorrرو بزارید اینجا بهتر میشه کمک کرد . بهترش اینه که یک بار دیگه کدSQLی که نوشتید رو بررسی کنید .
موفق باشید

bluedream3964
جمعه 13 اردیبهشت 1387, 22:11 عصر
http://www.par30online.com/imagehost/reg/thumbs/3763errore.jpg (http://www.par30online.com/imagehost/reg/image.php?id=3763errore.jpg)
اینم از ارروی که می گفتم....

Yama12
جمعه 13 اردیبهشت 1387, 23:11 عصر
یکی از فیلد های دیتابیست خالی میمونه
place holder هاتو دونه دونه چک کن
یــــــــا
بعضی وقتا با اینکه کد اشتباه رو میبینی اما بازم متوجه نمیشی
کد اسکیو ال رو پاک کن دوباره بنویس

razavi_university
شنبه 14 اردیبهشت 1387, 00:08 صبح
يك راه ساده براي عيب يابي اينه كه در جايي كه دستور SQL اجرا مي شود يك BreakPoint (با F9)بگذار
بعد زماني كه اجراي برنامه به اينجا رسيد دستور كامل شده را در SQL كپي كن و اجراش كن
اونجا متوجه ميشي چه پارامترهاييت مشكل داره

alinaghiha
شنبه 14 اردیبهشت 1387, 00:54 صبح
family داخل شرط where هم از نوع Char هستش


String cupdate = "UPDATE info SET name ='" + txtnameup.Text + "' , family='" + txtfamilyup.Text + "',byear='" + txtbyearup.Text + "',sex='" + txtsexup.Text + "',degree='" + txtdegreeup.Text + "' WHERE family='" + txtedit.Text+"'";


فكر كنم درست شد

مهدی رحیم زاده
شنبه 14 اردیبهشت 1387, 06:37 صبح
توی Where به جای = از Like استفاده کن . جالب تر و خوانا تر میشه . راحت تر هم به جواب میرسی ، چون فیلدت از نوع Char هست .
موفق باشید .

bluedream3964
جمعه 20 اردیبهشت 1387, 19:00 عصر
با تشکر از دوستان
ممنونم که کمکم کردید
راستی دوستان من اگه فرض رو بر این بذارم که بخوام خودم رو از اکسس خارج و به اس کیو ال وارد کنم چه غییراتی رو باید بدم مثالش تو همین برنامه ساده که نوشتم

smt_414
جمعه 20 اردیبهشت 1387, 20:34 عصر
سلام

به طور کلی کار بسیار ساده یست
برای ملموس شدن مطلب
همین کدهایی رو که در تاپیک اول قرار دادید با اعمال تغییراتی بسیار اندک که شاید 2 دقیقه هم وقت نگیره میشه اون رو به بانک sql مرتبط کنید


موفق باشید

bluedream3964
شنبه 21 اردیبهشت 1387, 19:05 عصر
ایا راهنمایی می فرمائید؟؟

bluedream3964
شنبه 21 اردیبهشت 1387, 23:52 عصر
اقا فعلا قبل از ورود به اس کیو ال
یه سوال دیگه من الان داشتم تو همون برنامم که واسه یاد گرفتن می نویسم جستجو رو تمرین میکردم.
به چیزائی نوشتم که باز میخوام شما دوستان راهنمایی کنید
من اینجا فعلا میخوام دو تا کار رو یاد بگیرم:
1. نحوه جستحو
2. نمایش نتایج در یک گیرد وییو
دستور من اینه ببیند:»

cmd.CommandText = "ٍُSELECT * FROM info WHERE name = '" + txtsearch.Text + "'";
اولا بی زحمت بگین ایرادم کجاست که اررور میده ثانیا چطوری تو datagirdview نشونش بدم.:گریه:
( چی کار کنم خنگم):اشتباه:

razavi_university
یک شنبه 22 اردیبهشت 1387, 03:45 صبح
Select << $elect

razavi_university
یک شنبه 22 اردیبهشت 1387, 03:49 صبح
برای سوال دوم (نمایش در گرید ویو) هم جستجو