ورود

نسخه کامل مشاهده نسخه کامل : اجرا نشدن دستورات sql در vb



ahmad_r
04-01-2008, 13:53
سلام
ببخشید دستور insert into را نمی توانم از ویژوال بیسیک اجرا کنم یعنی در موقع اجرا ارور می دهد من دستور زیر را نوشته ام

Adodc3.RecordSource = "INSERT INTO Hazerin ( Personely_ID, Tarikh_ID )VALUES(" & Text1.Text & "," & Text10.Text & ");"

ارور:
operation is not allowed when the object closed

مشکل کجاست?
با تشکر

mahdi053
05-01-2008, 09:34
سلام عزيز جان
اين پيغام وقتي مياد (البته با توجه به تجربه خودم) كه شما ديتابيس رو واسه تغييرات باز نكرديد در واقعه شما با ديتابيس برايه تغييرات ارتباط نداريد ، يا اينكه ديتابيس باز بوده ولي قبل از اجراي دستور اون رو بستيد.:5:

ahmad_r
09-01-2008, 06:46
میشه کد باز کردنشو بنویسی
آخه تا حالا من فقط از سلکت ado استفاده می کردم و نیازی به باز کردن دیتا بیس نداشتم

mahdi053
09-01-2008, 15:09
سلام عزيز
يه ماژول ايجاد كن و اين سه تا ايتم رو توش بريز:
1- متغيير ها:
Global sCnn As String
Global dbSet As ADODB.Connection
Global rsRec As ADODB.Recordset
Global cmd As ADODB.Command
Global sSql As String

2- باز كردن ديتا بيس: البته اگر اكسس باشه
Public Sub Opendb()
Set dbSet = New ADODB.Connection
Set cmd = New ADODB.Command
Set rsRec = New ADODB.Recordset
sCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=IKCO.mdb;Mode=Share Deny None;Persist Security Info=False"
dbSet.Open sCnn
cmd.CommandType = adCmdText
cmd.ActiveConnection = dbSet
End Sub
***.IKCO.mdbاسم ديتا بيس منه
3- بستن ديتا بيس:
Public Sub Closedb()
dbSet.Close
End Sub

حالا اينم سورس Insert كردن تو ديتابيس با استفاده از كدهاي SQL هست كه تو كد داخلي برنامه ات مي‌گذاري:

Opendb
sSql = "insert into [Output3] ([Internal_code],[Part_NO],[Number],[Save_Date],[Save_Time],[Save_Date_Number],[Save_Date_year],[Save_Date_Mon],[Save_Date_Day])" & _
" values('" & LTrim(RTrim(txt_Internal_Code.Text)) & "','" & LTrim(RTrim(txt_Part_No.Text)) & "','" & LTrim(RTrim(txt_Number.Text)) & "','" & LTrim(RTrim(txt_Save_Date.Text)) & "','" & LTrim(RTrim(txt_save_Time.Text)) & "','" & LTrim(RTrim(txt_Save_Date_Number.Text)) & "','" & LTrim(RTrim(txt_Save_Date_Year.Text)) & "','" & LTrim(RTrim(txt_Save_Date_Mon.Text)) & "','" & LTrim(RTrim(txt_Save_Date_Day.Text)) & "')"
dbSet.Execute sSql
Closedb


اينم سورس Update كردن:


Opendb
sSql = "update Input_One_Day SET [Number]='" & LTrim(RTrim(txt_Number.Text)) & "'" _
& " WHERE [Part_No]='" & LTrim(RTrim(txt_Part_No.Text)) & "' and [Input_Date_Number]=" & LTrim(RTrim(txt_Input_Date_Number.Text)) & ""
dbSet.Execute sSql
Closedb

فكر كنم بتوني تشخيص بدي كدوم اسم فيلد و كدوم جدول .
اگر سئوالي داشتي در خدمتيم.:5:

ahmad_r
11-01-2008, 07:09
دستت درد نکنه مشکلم حل شد
اگه بازم مشکلی داشتم مزاحمتون می شم

mahdi053
12-01-2008, 11:13
قابلي نداشت رفيق. درخدمتيم. اگر جواب ندادم پيغام خصوصو بذار