السلام عليكم انا عندى جدول الاى دى بتاعه ايدنتيتى وبعمل انسيرت فيه ب ستورد بروسيديور الكود نتاعها الاتى
CREATE PROCEDURE [VINSERT]
(@PID int ,@VDate datetime ,@VNO int,@VType nvarchar(50),@VDiag nvarchar(200), @ID INT OUTPUT
)
AS
insert into Visit (PID,Vdate,VNO,Vtype,Vdiag) values (@PID,@VDate,@VNO,@VType,@Vdiag)
SET @ID = CAST(SCOPE_IDENTITY() AS INT)
GO
وده طبعا المفروض انه بيرجعلى بالقيمه بتاعه الايدنتيتى ولكنه بيرجعلى دايما بواحد حتى ولو كان الايدنتيتى بغير كده
الكود الى بتسدعى بيه الستورد بروسيديور الاتى
Dim CM As New SqlCommand
CM.Connection = cn
CM.CommandType = CommandType.StoredProcedure
CM.CommandText = "VINSERT"
Dim Pr1 As New SqlParameter
Pr1.ParameterName = "@Vdate"
Pr1.SqlDbType = SqlDbType.DateTime
Pr1.Value = DateTimePicker1.Value
Dim Pr2 As New SqlParameter
Pr2.ParameterName = "@PID"
Pr2.SqlDbType = SqlDbType.Int
Pr2.Value = ComboBox1.SelectedValue
Dim Pr3 As New SqlParameter
Pr3.ParameterName = "@ID"
Pr3.SqlDbType = SqlDbType.Int
Pr3.Direction = ParameterDirection.Output
Dim Pr4 As New SqlParameter
Pr4.ParameterName = "@Vtype"
Pr4.SqlDbType = SqlDbType.NVarChar
Pr4.Size = 50
Pr4.Value = "Larynx"
Dim Pr5 As New SqlParameter
Pr5.ParameterName = "@VDiag"
Pr5.SqlDbType = SqlDbType.NVarChar
Pr5.Size = 200
Pr5.Value = TextBox10.Text
Dim Pr6 As New SqlParameter
Pr6.ParameterName = "@VNO"
Pr6.SqlDbType = SqlDbType.Int
Pr6.Value = TextBox2.Text
CM.Parameters.Add(Pr1)
CM.Parameters.Add(Pr2)
CM.Parameters.Add(Pr3)
CM.Parameters.Add(Pr4)
CM.Parameters.Add(Pr5)
CM.Parameters.Add(Pr6)
cn.Open()
x = CM.ExecuteNonQuery
cn.Close()
وجزاكم الله خيرا