PDA

View Full Version : سوال: مشکل در اجرای دستور Insert



حمید . ه
دوشنبه 12 فروردین 1392, 20:18 عصر
سلام . من نمیتونم با دستور زیر اطلاعاتم رو وارد جدول کنم . vb از این دستور ایراد میگیره . کسی میدونه چرا ؟

DE1.rsCMD_GetPersonalNumber.Open "insert into Tbl_Members(PersonalNumber,Name,Family,PasportCode ,TelNumber,MemberType,WorkDate,StartWorkTime,EndWo rkTime,Password,AdminGroup,Active) values(" & NewMember.PersonalNumber & ",'" & NewMember.Name & "','" & NewMember.Family & "','" & NewMember.Pasport & "','" & NewMember.Tel & "'," & NewMember.Type & ",'" & NewMember.WorkDates & "','" & NewMember.StartTime & "','" & NewMember.EndTime & "','" & NewMember.Password & "'," & NewMember.IsManage & "," & NewMember.IsActive & ")"

محسن واژدی
دوشنبه 12 فروردین 1392, 21:07 عصر
سلام علیکم
در صورت امکان متن خطا هم ذکر کنید

حمید . ه
دوشنبه 12 فروردین 1392, 21:16 عصر
ببینید این تمامه چیزیه که من باهاش مشکل دارم
Dim tempPN As Integer
Dim blnCheckPN As Boolean
blnCheckPN = True
Do
Randomize Timer
tempPN = Int(Rnd * (1995 - 1001 + 1) + 1001)
DE1.rsCMD_GetPersonalNumber.Open "Select * from Tbl_Members where PersonalNumber=" & tempPN
If DE1.rsCMD_GetPersonalNumber.RecordCount = 0 Then blnCheckPN = False
DE1.rsCMD_GetPersonalNumber.Close
Loop While blnCheckPN = True


NewMember.PersonalNumber = tempPN

'' Generate Password

Dim tempPass As String

' Password Pattern => ?###?####?
Dim blnCheckPass As Boolean
blnCheckPass = True
Do
Randomize Timer
tempPass = Password_Characters() & Int(Rnd * (100 - 1 + 1) + 1) & Password_Characters() & Int(Rnd * (100 - 1 + 1) + 1) & Password_Characters

DE1.rsCMD_GetPersonalNumber.Open "Select * from Tbl_Members where Password ='" & tempPass & "'"
If DE1.rsCMD_GetPersonalNumber.RecordCount = 0 Then blnCheckPass = False
DE1.rsCMD_GetPersonalNumber.Close
Loop While blnCheckPass = True


NewMember.Password = tempPass

'' Insert into Database

DE1.rsCMD_GetPersonalNumber.Open "insert into Tbl_Members(PersonalNumber,Name,Family,PasportCode ,TelNumber,MemberType,WorkDate,StartWorkTime,EndWo rkTime,Password,AdminGroup,Active) values(" & NewMember.PersonalNumber & ",'" & NewMember.Name & "','" & NewMember.Family & "','" & NewMember.Pasport & "','" & NewMember.Tel & "'," & NewMember.Type & ",'" & NewMember.WorkDates & "','" & NewMember.StartTime & "','" & NewMember.EndTime & "','" & NewMember.Password & "'," & NewMember.IsManage & "," & NewMember.IsActive & ")"


خطایی هم که میده بعضی وقتا متفاوته . مثلا یک بار از باز بودن آبجکت یک بار از دستور insert پایانی

محسن واژدی
دوشنبه 12 فروردین 1392, 21:59 عصر
اگه به دستور Open خطا می گیره چون یکبار بانک باز شده، پرسجو رو در RecordSource بنویسید، دستور زیر را هم بررسی کنید:

Private Sub Command1_Click()
Dim CN
Set CN = CreateObject("ADODB.Connection")
CN.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\NWIND.MDB;Persist Security Info=False"
CN.Execute "insert into Tbl_Members(PersonalNumber,Name,Family,PasportCode ,TelNumber,MemberType,WorkDate,StartWorkTime,EndWo rkTime,Password,AdminGroup,Active) values(" & NewMember.PersonalNumber & ",'" & NewMember.Name & "','" & NewMember.Family & "','" & NewMember.Pasport & "','" & NewMember.Tel & "'," & NewMember.Type & ",'" & NewMember.WorkDates & "','" & NewMember.StartTime & "','" & NewMember.EndTime & "','" & NewMember.Password & "'," & NewMember.IsManage & "," & NewMember.IsActive & ")"
CN.Close
Set CN = Nothing
End Sub

موفق باشید

حمید . ه
دوشنبه 12 فروردین 1392, 22:18 عصر
ممنون ولی من پروژه رو با Dataenvironment نوشتم