PDA

View Full Version : درج در پایگاه داده



khomar
پنج شنبه 20 دی 1386, 00:40 صبح
سلام ممنون می شم اگه کسی بهم بگه مشکل این کد چیه؟
وقتی اجرا می کنم این قسمت رو اررور می ده ارورش هم این هست

Comm.ExecuteNonQuery()
و این هم ارروری هست که می ده

An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll

این هم کد برنامه هست




Dim strcon As String
strcon = " Provider=Microsoft.jet.oledb.4.0;data source=d:\mahi\mahi\bin\mahi.mdb;"
Dim con As New OleDb.OleDbConnection(strcon)
con.Open()
Dim Comm As New OleDb.OleDbCommand("INSERT INTO student(" & "code," & "name," & "family," & "date)VALUES('" & TextBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "','" & TextBox5.Text & "')", con)
Comm.ExecuteNonQuery()
con.Close()

متغیرهای من در حال حاضر رشته هستند اگه بخوام عدد باشند باز هم به همین صورت در پایگاه درج می شن ؟چون تا اونجایی که یادمه تو وی بی فرق می کر این جا رو دیگه نمی دونم

miladr
پنج شنبه 20 دی 1386, 02:10 صبح
شما Comm ساختی باید کانکشن رو ست کنی براش

comm.connection=con

در مورد سوال دوم هم فرقش اینکه این قسمت رو با فرض اینکه مقدار توی textbox عدد هست به این صورت تغییر میدی

,'" & TextBox2.Text & "',

به این


," & TextBox2.Text & ",

این قسمت هم لازم نیست جدا جدا باشه

(" & "code," & "name," & "family," & "date)

به این تبدیلش کن


(code,name,family,date)

visual_basic
پنج شنبه 20 دی 1386, 10:08 صبح
سلام
مشکل دستور شما فکر کنم فقط (" & "code," & "name," & "family," & "date) باشه که دوستمون miladگفتن باید چه کار کنید.

khomar
شنبه 22 دی 1386, 00:57 صبح
کارهایی رو که گفتید انجام دادم اما درست نشد همون اررور قبلی رو می ده به نظرتون کجا برنامه اشتباه هست؟:افسرده:

miladr
شنبه 22 دی 1386, 03:52 صبح
شما زحمت بکش کل error رو بذار

choobin84
شنبه 22 دی 1386, 12:10 عصر
دوست من ، به نظر نمی زسه خطای نحوی در متن دستورات اس کیو ال وجود داشته باشه.
فکر کنم فیلدهایی که در جدولتون به کار برده اید، با فیلدهای موجود در دستور مطابقت نداره
دوست من
برای اینکه بفهمیم خطای مورد نظر دقیقا چی هست از مدیریت خطا یا اکسپشن ها استفاده می کنیم.
برای این منظور از tryو catch استفاده می شود
در بلوک try دستورات اس کیو ال رو بنویسید و در بلوک catch ، این دستور را بنویسید.

try
'sqlString
catch ex as exception
messageBox.show( ex.message)

endtry

khomar
شنبه 22 دی 1386, 23:58 عصر
از همه دوستان که راهنمایی کردن سپاسگزارم مشکلم حل شد چطوری؟ خودم هم نمی دونم فقط یه کوچولو طرز نوشتن کد ها رو عوض کردم باز هم ممنون

khomar
شنبه 22 دی 1386, 23:59 عصر
شما زحمت بکش کل error رو بذار

کل اررورم همون هست که بالا گذاشتم ممنون مشکلم حل شد