منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : حل مشكله عند اضافه موظف
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
هذه المشكله تظهر مع ان قاعده البيانات لاتحتوي علي EMPLOYEES1 

الكود يعمل عند اضافه اول شخص عند اضافه شخص اخر تظهر هذه المشكله
كود :
Public Sub Load_Employees()
       dt_Employees.Clear()
       Dim cmd As New SqlCommand("select Amp_id,Amp_name,Amp_phone,Amp_state from Employees", connSQLServer)
       connSQLServer.Open()
       dt_Employees.Load(cmd.ExecuteReader)
       connSQLServer.Close()
       cmd = Nothing

   End Sub

   Public Function Max_emp_id_From_Employee()
       Dim number As Integer
       Try
           Dim cmd As New SqlCommand("Select Max (Amp_id) Employees", connSQLServer)

           connSQLServer.Open()
           number = cmd.ExecuteScalar
           connSQLServer.Close()
       Catch
           number = 0
           connSQLServer.Close()
       End Try
       Return number

   End Function


   Public Sub Insert_Employees(ByVal Amp_name As String, ByVal Amp_phone As String, ByVal Amp_state As Boolean)
       Dim cmd As New SqlCommand("Insert Into Employees(Amp_id,Amp_name,Amp_phone,Amp_state) values (@Amp_id,@Amp_name,@Amp_phone,@Amp_state)", connSQLServer)

       cmd.Parameters.Add("Amp_id", SqlDbType.Int).Value = Max_emp_id_From_Employee() + 1
       cmd.Parameters.Add("Amp_name", SqlDbType.NVarChar).Value = Amp_name
       cmd.Parameters.Add("Amp_phone", SqlDbType.NVarChar).Value = Amp_phone
       cmd.Parameters.Add("Amp_state", SqlDbType.Bit).Value = Amp_state
       connSQLServer.Open()
       cmd.ExecuteNonQuery()
       connSQLServer.Close()
       cmd = Nothing
   End Sub
باعتبار حقل الترقيم غير تلقائي من نوع رقمي ..
كود :
Imports System.Data.SqlClient
Public Class Form1
   Public dt As DataTable
   Public Sub Load_Employees()
       dt.Clear()
       Dim cmd As New SqlClient.SqlCommand("select Amp_id,Amp_name,Amp_phone,Amp_state from Employees", Conne)
       Conne.Open()
       dt.Load(cmd.ExecuteReader)
       cmd = Nothing
   End Sub
   Public Function Maximum_Record_In_Table(Field_Name, Table_Name) As Integer
       Dim InfoTable As New DataTable
       Dim InfoAdapter As New SqlDataAdapter
       InfoTable.Clear()
       InfoAdapter = New SqlDataAdapter("SELECT MAX(" & Field_Name & ") From " & Table_Name & "", Conne)
       InfoAdapter.Fill(InfoTable)
       Dim Auto_Number As Integer
       If IsDBNull(InfoTable(0)(0)) = True Then
           Auto_Number = 1
       Else
           Auto_Number = InfoTable(0)(0) + 1
       End If
       Return Auto_Number
   End Function
   Public Sub Insert_Employees(ByVal Amp_id As Int32, ByVal Amp_name As String, ByVal Amp_phone As String, ByVal Amp_state As Boolean)
       Dim cmd As New SqlCommand("Insert Into Employees(Amp_id,Amp_name,Amp_phone,Amp_state) values (@Amp_id,@Amp_name,@Amp_phone,@Amp_state)", Conne)
       cmd.Parameters.Add("Amp_id", SqlDbType.Int).Value = Amp_id
       cmd.Parameters.Add("Amp_name", SqlDbType.NVarChar).Value = Amp_name
       cmd.Parameters.Add("Amp_phone", SqlDbType.NVarChar).Value = Amp_phone
       cmd.Parameters.Add("Amp_state", SqlDbType.Bit).Value = Amp_state
       cmd.ExecuteNonQuery()
       cmd = Nothing
       MsgBox("تم الحفظ بنجاح")
   End Sub
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Me.TextBox1.Text = Maximum_Record_In_Table("Amp_id", "Employees")
   End Sub
 Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       Insert_Employees(TextBox1.Text, TextBox2.Text, TextBox3.Text, CheckBox1.CheckState)
   End Sub
End Class
(30-03-20, 11:09 PM)عبد العزيز البسكري كتب : [ -> ]
باعتبار حقل الترقيم غير تلقائي من نوع رقمي ..
كود :
Imports System.Data.SqlClient
Public Class Form1
   Public dt As DataTable
   Public Sub Load_Employees()
       dt.Clear()
       Dim cmd As New SqlClient.SqlCommand("select Amp_id,Amp_name,Amp_phone,Amp_state from Employees", Conne)
       Conne.Open()
       dt.Load(cmd.ExecuteReader)
       cmd = Nothing
   End Sub
   Public Function Maximum_Record_In_Table(Field_Name, Table_Name) As Integer
       Dim InfoTable As New DataTable
       Dim InfoAdapter As New SqlDataAdapter
       InfoTable.Clear()
       InfoAdapter = New SqlDataAdapter("SELECT MAX(" & Field_Name & ") From " & Table_Name & "", Conne)
       InfoAdapter.Fill(InfoTable)
       Dim Auto_Number As Integer
       If IsDBNull(InfoTable(0)(0)) = True Then
           Auto_Number = 1
       Else
           Auto_Number = InfoTable(0)(0) + 1
       End If
       Return Auto_Number
   End Function
   Public Sub Insert_Employees(ByVal Amp_id As Int32, ByVal Amp_name As String, ByVal Amp_phone As String, ByVal Amp_state As Boolean)
       Dim cmd As New SqlCommand("Insert Into Employees(Amp_id,Amp_name,Amp_phone,Amp_state) values (@Amp_id,@Amp_name,@Amp_phone,@Amp_state)", Conne)
       cmd.Parameters.Add("Amp_id", SqlDbType.Int).Value = Amp_id
       cmd.Parameters.Add("Amp_name", SqlDbType.NVarChar).Value = Amp_name
       cmd.Parameters.Add("Amp_phone", SqlDbType.NVarChar).Value = Amp_phone
       cmd.Parameters.Add("Amp_state", SqlDbType.Bit).Value = Amp_state
       cmd.ExecuteNonQuery()
       cmd = Nothing
       MsgBox("تم الحفظ بنجاح")
   End Sub
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       Me.TextBox1.Text = Maximum_Record_In_Table("Amp_id", "Employees")
   End Sub
 Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       Insert_Employees(TextBox1.Text, TextBox2.Text, TextBox3.Text, CheckBox1.CheckState)
   End Sub
End Class
لم يتوافق مع كودي لاني اريد ان افعل شي اخر
أرجو المعذرة أنّي قدّمت المساعدة حسب مفهومي الخاص
سأعتبر ما طرحته أعلاه .. آخر مشاركة لي أقدّمها لشخص ثانٍ
أن أفكّر و أتكهّن و أخمّن إلكترونيا عبر الأنترنت و أنجر قاعدة بيانات و جدول للتجربة
بدون أدنى لباقة و كلمة شكر
 يأتي من يقول أنّه يريد فعل شيئا آخرا .. و هذا الشيء الآخر لم يطرحه كتسهيل للمساعدة ..
هذه قمّة .. الكورورنا
سأحتفظ بمساعداتي لنفسي .. و السلام عليكم
تحياتي
(30-03-20, 11:48 PM)عبد العزيز البسكري كتب : [ -> ]
أرجو المعذرة أنّي قدّمت المساعدة حسب مفهومي الخاص
سأعتبر ما طرحته أعلاه .. آخر مشاركة لي أقدّمها لشخص ثانٍ
أن أفكّر و أتكهّن و أخمّن إلكترونيا عبر الأنترنت و أنجر قاعدة بيانات و جدول للتجربة
بدون أدنى لباقة و كلمة شكر
 يأتي من يقول أنّه يريد فعل شيئا آخرا .. و هذا الشيء الآخر لم يطرحه كتسهيل للمساعدة ..
هذه قمّة .. الكورورنا
سأحتفظ بمساعداتي لنفسي .. و السلام عليكم
تحياتي
والله انا لااقصد شيئ فقط اريد ان يتوافق مع كودي ومعذرة اخي

(30-03-20, 11:54 PM)mohamedalqadi كتب : [ -> ]
(30-03-20, 11:48 PM)عبد العزيز البسكري كتب : [ -> ]
أرجو المعذرة أنّي قدّمت المساعدة حسب مفهومي الخاص
سأعتبر ما طرحته أعلاه .. آخر مشاركة لي أقدّمها لشخص ثانٍ
أن أفكّر و أتكهّن و أخمّن إلكترونيا عبر الأنترنت و أنجر قاعدة بيانات و جدول للتجربة
بدون أدنى لباقة و كلمة شكر
 يأتي من يقول أنّه يريد فعل شيئا آخرا .. و هذا الشيء الآخر لم يطرحه كتسهيل للمساعدة ..
هذه قمّة .. الكورورنا
سأحتفظ بمساعداتي لنفسي .. و السلام عليكم
تحياتي
والله انا لااقصد شيئ فقط اريد ان يتوافق مع كودي ومعذرة اخي

انا اريد فقط اضافه الموظف هذا كود الموديل كامل
كود :
Imports System.Data.SqlClient

Module Emp_Module
   Public dt_Employees As New DataTable
   Public add_edit As String
   Public emp_id As Integer

   Public Sub Load_Employees()
       dt_Employees.Clear()
       Dim cmd As New SqlCommand("select emp_id,emp_name,emp_phone,emp_state from Employees where emp_state = 1", connSQLServer)
       connSQLServer.Open()
       dt_Employees.Load(cmd.ExecuteReader)
       connSQLServer.Close()
       cmd = Nothing

   End Sub

   Public Function Max_emp_id_From_Employee()
       Dim number As Integer
       Try
           Dim cmd As New SqlCommand("Select Max (emp_id) Employees", connSQLServer)

           connSQLServer.Open()
           number = cmd.ExecuteScalar
           connSQLServer.Close()
       Catch
           number = 0
           connSQLServer.Close()
       End Try
       Return number

   End Function


   Public Sub Insert_Employees(ByVal emp_name As String, ByVal emp_phone As String, ByVal emp_state As Boolean)
       Dim cmd As New SqlCommand("Insert Into Employees(emp_id,emp_name,emp_phone,emp_state) values (@emp_id,@emp_name,@emp_phone,@emp_state)", connSQLServer)
       cmd.Parameters.Add("emp_id", SqlDbType.Int).Value = emp_id
       cmd.Parameters.Add("emp_name", SqlDbType.NVarChar).Value = emp_name
       cmd.Parameters.Add("emp_phone", SqlDbType.NVarChar).Value = emp_phone
       cmd.Parameters.Add("emp_state", SqlDbType.Bit).Value = emp_state
       connSQLServer.Open()
       cmd.ExecuteNonQuery()
       connSQLServer.Close()
       cmd = Nothing
   End Sub

   Public Sub Update_Employees(ByVal emp_name As String, ByVal emp_phone As String, ByVal emp_state As Boolean, ByVal emp_id2 As Integer)
       Dim cmd As New SqlCommand("Update Employees set emp_name=@emp_name,emp_phone=@emp_phone,emp_state=@emp_state where emp_id=@emp_id2", connSQLServer)
       cmd.Parameters.Add("emp_id2", SqlDbType.Int).Value = emp_id2
       cmd.Parameters.Add("emp_name", SqlDbType.NVarChar).Value = emp_name
       cmd.Parameters.Add("emp_phone", SqlDbType.NVarChar).Value = emp_phone
       cmd.Parameters.Add("emp_state", SqlDbType.Bit).Value = emp_state
       connSQLServer.Open()
       cmd.ExecuteNonQuery()
       connSQLServer.Close()
       cmd = Nothing
   End Sub
   Public Sub Update_Employees_delete(ByVal emp_id2 As Integer)
       Dim cmd As New SqlCommand("Update Employees set emp_state=@emp_state where emp_id=@emp_id2", connSQLServer)
       cmd.Parameters.Add("emp_id2", SqlDbType.Int).Value = emp_id2
       cmd.Parameters.Add("emp_state", SqlDbType.Bit).Value = False
       connSQLServer.Open()
       cmd.ExecuteNonQuery()
       connSQLServer.Close()
       cmd = Nothing
   End Sub
End Module
وهذا كود بوتن الحفظ
كود :
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       If add_edit = "Add" Then
           Insert_Employees(TextBox1.Text, TextBox2.Text, CheckBox1.CheckState)
       Else
           Update_Employees(TextBox1.Text, TextBox2.Text, CheckBox1.Checked, emp_id)

       End If
       Load_Employees()
       Close()

   End Sub
السلام عليكم و رحمة الله و بركاته
الاخ عبد العزيز معه كامل الحق , وضح اكثر و حاول ان تاتي بكل التفاصيل المتعلقة بالمشكلة , ليس عليه ان يتكهن طريقة العمل لديك.
بكل حال مفاد الرسالة المعروضة لديك تفيد بان لديك تكرار في المفتاح الرئيسيي و ان هناك علاقة بين جدولين يجب الانتباه الى ترابط و توافق المفاتيح بينها.
(31-03-20, 12:08 AM)ابو ليلى كتب : [ -> ]السلام عليكم و رحمة الله و بركاته
الاخ عبد العزيز معه كامل الحق , وضح اكثر و حاول ان تاتي بكل التفاصيل المتعلقة بالمشكلة , ليس عليه ان يتكهن طريقة العمل لديك.
بكل حال مفاد الرسالة المعروضة لديك تفيد بان لديك تكرار في المفتاح الرئيسيي و ان هناك علاقة بين جدولين يجب الانتباه الى ترابط و توافق المفاتيح بينها.

مسحت كل شي له علاقه بال employee ولكن مازالت نفس المشكله
ارفع مثالك
(31-03-20, 12:18 AM)ابو ليلى كتب : [ -> ]ارفع مثالك

بقاعده البيانات ؟
اكيد اخي ..
ارفعها سكربت
الصفحات : 1 2