طلب تعديل على كود الحفظ في حالة وجود شرط ... خطأ عند عملية الحفظ - momiana1 - 26-12-14
السلام عليكم
لا أعرف هل يمكن تنفيذ هذه الفكرة أم لا ،،،
وضعت صورة مرفقة للموضوع لتوضيح أكثر
في حدث CheckBox1 وضعت الكود التالي
PHP كود :
If CheckBox1.Checked = True Then ComboBox2.Visible = True ComboBox3.Visible = False ElseIf CheckBox1.Checked = False Then ComboBox2.Visible = False ComboBox3.Visible = True End If
وفي زر الحفظ وضعت الكود التالي
PHP كود :
Try Dim Savecommand As New OleDb.OleDbCommand Dim connectionstring As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source =" & Application.StartupPath & "\db8.accdb;user id=admin;jet oledb:database password=momiana"
Dim newconnection As New OleDbConnection(connectionstring) Savecommand.Connection = newconnection Savecommand.CommandType = CommandType.Text
If CheckBox1.Checked = True Then
Savecommand.CommandText = "insert into mate ([ID],[PID],[po2],[it2],[qu2],[un2],[pr2],[mda2],[note2]) values ('" & _ TextBox2.Text & "','" & TextBox4.Text & _ "','" & CheckBox1.Checked & "','" & ComboBox2.Text & "','" & _ TextBox1.Text & "','" & ComboBox1.Text & "','" & _ TextBox3.Text & "','" & DateTimePicker1.Value & "','" & TextBox5.Text & "')"
ElseIf CheckBox1.Checked = False Then Savecommand.CommandText = "insert into mate ([ID],[PID],[po2],[it2],[qu2],[un2],[pr2],[mda2],[note2]) values ('" & _ TextBox2.Text & "','" & TextBox4.Text & _ "','" & CheckBox1.Checked & "','" & ComboBox3.Text & "','" & _ TextBox1.Text & "','" & ComboBox1.Text & "','" & _ TextBox3.Text & "','" & DateTimePicker1.Value & "','" & TextBox5.Text & "')"
End If
newconnection.Open() Savecommand.ExecuteNonQuery() newconnection.Close()
MsgBox("تمت عملية الإضافة والحفظ في قاعدة البيانات بنجاح", 64, "حفظ الإضافة")
Catch ex As Exception
MsgBox(ex.Message, 16, "خطأ")
End Try
الإختلاف بين الشرط الأول والثاني فقط في بيانات ComboBox2 وبيانات ComboBox3
عند تنفيذ البرنامج تظهر رسالة خطأ " Data type mismatch in criteria expression "
وعند تتبع تنفيذ البرنامج F11 وجدت أنه لما يصل إلى
PHP كود :
Savecommand.ExecuteNonQuery()
ينتقل بعدها مباشرة إلى
PHP كود :
Catch ex As Exception
MsgBox(ex.Message, 16, "خطأ")
RE: طلب تعديل على كود الحفظ في حالة وجود شرط ... خطأ عند عملية الحفظ - hminfo - 27-12-14
(26-12-14, 08:51 PM)momiana1 كتب : يستحسن استعمال البارامترات في جملة insert
ارفع المشروع نعدل عليه
RE: طلب تعديل على كود الحفظ في حالة وجود شرط ... خطأ عند عملية الحفظ - momiana1 - 28-12-14
أخي hminfo
أشكرك على المساعدة ، بالفعل لقد قمت بإستعمال البارامترات وتمت العملية بنجاح
وأشكر أيضًا أخي الوليد الذي نصحنى وأرشدني على كيفية إستعمالها
وهذا الكود الإضافة بعد إستعمال البارامترات
PHP كود :
Try Dim Savecommand As New OleDb.OleDbCommand Dim connectionstring As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & "Data Source =" & Application.StartupPath & "\db8.accdb;user id=admin;jet oledb:database password=momiana"
Using newconnection As New OleDbConnection(connectionstring)
Dim sql As String = _ " INSERT INTO [mate] " & _ " ( ID, PID, po2, it2, qu2, un2, pr2, mda2, note2 ) " & _ " VALUES " & _ " ( ID, PID, po2, it2, qu2, un2, pr2, mda2, note2 ) "
Using cmd As New OleDb.OleDbCommand(sql, newconnection)
cmd.Parameters.AddWithValue("@ID", TextBox2.Text) cmd.Parameters.AddWithValue("@PID", TextBox4.Text) cmd.Parameters.AddWithValue("@po2", CheckBox1.Checked)
If CheckBox1.Checked = True Then cmd.Parameters.AddWithValue("@it2", ComboBox2.Text) ElseIf CheckBox1.Checked = False Then cmd.Parameters.AddWithValue("@it2", ComboBox3.Text) End If
cmd.Parameters.AddWithValue("@qu2", TextBox1.Text) cmd.Parameters.AddWithValue("@un2", ComboBox1.Text) cmd.Parameters.AddWithValue("@pr2", TextBox3.Text) cmd.Parameters.AddWithValue("@mda2", DateTimePicker1.Value.Date) cmd.Parameters.AddWithValue("@note2", TextBox5.Text)
newconnection.Open() Dim result As Integer = cmd.ExecuteNonQuery() newconnection.Close()
If result > 0 Then MessageBox.Show("تمت عملية الإضافة والحفظ في قاعدة البيانات بنجاح", "حفظ الإضافة", MessageBoxButtons.OK, MessageBoxIcon.Information) Else MessageBox.Show("لم تتم عملية الإضافة، تأكد من المدخلات", "حفظ الإضافة", MessageBoxButtons.OK, MessageBoxIcon.Warning) End If
End Using End Using
Catch ex As Exception MsgBox(ex.Message, 16, "خطأ") End Try
|