سعاد نشر 10 يناير 2016 أرسل تقرير نشر 10 يناير 2016 (معدل) حاولت إدخال بيانات على قاعدة بيانات باستعمال Vb.net، باستخدام الكود التالي:InsertSQL &= "('" & WorkerID_.Text & "', " InsertSQL &= "'Worker', " InsertSQL &= "'12345', 1)" Dim SqlUpdate As String SqlUpdate = "INSERT INTO Worker (ID, WorkerID, WorkerName, DoB, Address, Phone, Email, CompanyName, PassportNum, PassportExp, VisaExp, VisaStatus, user_id) VALUES (default," SqlUpdate &= "'" & WorkerID_.Text & "', " SqlUpdate &= "'" & WorkerName.Text & "', " SqlUpdate &= "'" & DoB.Text & "', " SqlUpdate &= "'" & Address.Text & "', " SqlUpdate &= "'" & Phone.Text & "', " SqlUpdate &= "'" & Email.Text & "', " SqlUpdate &= "'" & Company.SelectedValue & "', " SqlUpdate &= "'" & PassNum.Text & "', " SqlUpdate &= "'" & PassExp.Text & "', " SqlUpdate &= "'" & VisaExp.Text & "', " SqlUpdate &= "'No Visa', " SqlUpdate &= "'" & WorkerID_.Text & "') " Dim insertCommand As New OleDbCommand(SqlUpdate, con.oleconnection) Dim cmd1 As New OleDbCommand(InsertSQL, con.oleconnection) Try con.open() cmd1.ExecuteNonQuery() insertCommand.ExecuteNonQuery() Catch FailureText.Text = "Unable to add user" Finally con.close() End Try End If Response.Redirect("Workers.aspx") End Subاستخدمت Insert into login وهي تعمل بشكل جيد، على عكس insert into worker لا تعمل، حيث أن البيانات لا تخزن على قاعدة البيانات، فأين هو الخطأ؟ وما الحل؟ تم التعديل في 10 يناير 2016 بواسطة سعاد اقتباس
0 E.Nourddine نشر 12 يناير 2016 أرسل تقرير نشر 12 يناير 2016 جملة الاستعلام المستعملة في كودك السابق، وجب أن تكون على الشكل التالي:Dim con As dbConn = New dbConn() Dim SqlSelect As String SqlSelect = "SELECT * FROM login Where user_id= @parmUserID" Dim cmd As New OleDbCommand(SqlSelect, con.oleconnection) cmd.Parameters.AddWithValue( "parmUserID", WorkerID_.Text )بالنسبة للمتغير النصي InsertSQL والذي يحتوي على جملة استعلام تأخذ قيمها من خلال القيم الموجودة بالحقول النصية، أنصحك باستخدام هذه الطريقة في ربط Values بجملة الاستعلام مع الحقول النصية، هذه أوضح وأكثر تنظيما من طريقتك المُستعملة والتي تعتمد على Concatenation، بهذا الشكل:Dim InsertSQL As String InsertSQL = "INSERT INTO login (user_id, user_role, user_password, user_status) " InsertSQL &= " VALUES ( @parmUser, @parmRole, @parmPwd, @parmStatus )" Dim cmdInsert As New OleDbCommand(InsertSQL, con.oleconnection) cmdInsert.Parameters.AddWithValue( "parmUser", WorkerID_.Text ) cmdInsert.Parameters.AddWithValue( "parmRole", "Worker" ) cmdInsert.Parameters.AddWithValue( "parmPwd", "12345" ) cmdInsert.Parameters.AddWithValue( "parmStatus", 1 ) Dim SqlUpdate As String SqlUpdate = "INSERT INTO Worker (ID, WorkerID, WorkerName, DoB, Address, Phone, Email, CompanyName, PassportNum, PassportExp, VisaExp, VisaStatus, user_id) " SqlUpdate &= " VALUES ( @parmID, @parmName, @parmDoB, etc... ) " Dim cmdUpdate As New OleDbCommand(SqlUpdate, con.oleconnection) cmdUpdate.Parameters.AddWithValue( "parmID", WorkerID_.Text ) cmdUpdate.Parameters.AddWithValue( "parmName", WorkerName.Text ) cmdUpdate.Parameters.AddWithValue( "parmDoB", DoB.Text ) -- etc with the rest of the parameters. اقتباس
السؤال
سعاد
حاولت إدخال بيانات على قاعدة بيانات باستعمال Vb.net، باستخدام الكود التالي:
استخدمت Insert into login وهي تعمل بشكل جيد، على عكس insert into worker لا تعمل، حيث أن البيانات لا تخزن على قاعدة البيانات، فأين هو الخطأ؟ وما الحل؟
تم التعديل في بواسطة سعاد1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.