PDA

View Full Version : خطا در ذخیره رکورد در اکسس



maryam_vb
سه شنبه 06 آذر 1386, 11:31 صبح
سلام
این تکه برنامه هنگام fill کردن از دستور insert into خطای دستوری میگیره .چرا؟:ناراحت:

Dim conn AsNew OleDb.OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\calendar.mdb")
Dim adap AsNew OleDb.OleDbDataAdapter("insert into messages2(title,text) values ('" & Ttitle.Text & "' , '" & tmessage.Text & "')", conn)
Dim dst AsNew DataSet
conn.Open()
adap.Fill(dst, "messages2")
conn.Close()

arsalansalar
سه شنبه 06 آذر 1386, 12:07 عصر
Dim st, un AsInteger
Dim av AsSingle
av = Val(txtAve.Text)
st = Val(txtStNo.Text)
un = Val(txtUnits.Text)
Dim insertSql AsString
insertSql = "Insert Into stTable(StNo, Name, Ave, Course, NumUnit)"
insertSql &= " VALUES ('" & st & "', '" & txtName.Text & "','" & av & "', '" & txtCourse.Text & "', '" & un & "')"
con = New OleDbConnection("Provider = Microsoft.Jet.OLEDB.4.0;" & "Data Source = d:\inetpub\wwwroot\db\student.mdb")
cmdSelect = New OleDbCommand(insertSql, con)
con.Open()
cmdSelect.ExecuteNonQuery()
con.Close()

از این کد استفاده کن شاید درست شود.

maryam_vb
سه شنبه 06 آذر 1386, 12:16 عصر
database من اکسس نه sql و با دستور command نمیشه دستور insert into رو نوشت.

ice007
سه شنبه 06 آذر 1386, 12:25 عصر
میشه . چرا نشه؟ امتحان کنید

مهدی نان شکری
سه شنبه 06 آذر 1386, 12:26 عصر
با سلام
شما می خوایین دیتا رو به دیتا ست فیل کنین یا اضافه؟
باید دستورتون رو به select تبدیل کنین.



Dim conn As New OleDb.OleDbConnection("provider=microsoft.jet.oledb.4.0 ; data source=" & Application.StartupPath() & "\calendar.mdb")
Dim adap As New OleDb.OleDbDataAdapter("Select * From messages2", conn)
Dim dst As New DataSet
conn.Open()
adap.Fill(dst, "messages2")
conn.Close()

maryam_vb
سه شنبه 06 آذر 1386, 12:57 عصر
سلام
میخوام عمل درج رو انجام بدم .با یه متغیر امتحان کردم درست کار میکنه ولی وقتی متغیر دومی رو به دستور اضافه کردم error داد.
فرمت دستور مشکل داره.

arsalansalar
سه شنبه 06 آذر 1386, 13:33 عصر
دوست عزیز امتحان کنید,حتما جواب می دهد.

maryam_vb
چهارشنبه 07 آذر 1386, 12:09 عصر
خانم یا آقای arsalansalar شما درست میگفتید دستور insertinto عمل میکنه ، مشکل من در عدم تطابق مقدار با نوع فیلد بود.

maryam_vb
چهارشنبه 07 آذر 1386, 12:11 عصر
فیلدی از نوع memo دارم میخوام مقدار textbox رو توش بریزم . نوعشون بهم نمیخوره؟
حالا باید چه کار کنم؟

saeed_rezaei
چهارشنبه 07 آذر 1386, 22:51 عصر
سلام.
برای ذخیره در حالت memo بهتره از insert به روش پارامتری استفاده کرد. چون دراین روش می تونید به راحتی نوع اطلاعاتی رو که می خواید insert کنید مشخص کنید.

mehdihamedali
چهارشنبه 07 آذر 1386, 23:38 عصر
دوست عزیز
چون دیتا بیس شما اکسسه البته فکر میکنم Text و Memo موقیه اینسرت کردن فرق نکنه بایداز این ها ' ' استفاده کنی در دو طرف متنت
البته من خیلی سر در نیاوردم چون خیلی با دقت تاپیکتو نخوندم، من گذری پست میذارم