12-07-13, 03:33 AM
dena كتب :ألف شكر لك أخي الفاضل حريف برمجة
ولكن ماذا عن طريقتك الأولى بدون استخدام الإجراء المخزن هل يمكن تطبيق ذلك دون الحاجة للإجراء المخزنstored procedures؟؟
اعتذر عن كثرة الأسئلة بسبب انني مبتدئة واود الاستفادة من خبراتكم وجزاك الله كل خير
العفو ،، وترى ماسوينا غير الواجب
نعم ممكن ،، اي شي في البرمجة ممكن عملها البرمجة ماهي إلا أفكار وتنفيذها ،،
الكود لعمل مطلوبك بدون اجراء مخزن يصبح كالتالي :
كود :
Dim cmd As New SqlCommand
cmd.Connection = conn
conn.Open()
cmd.CommandText = "select * from classes where classname=@classname"
cmd.Parameters.AddWithValue("@classname", TextBox1.Text)
Dim dr As SqlDataReader = cmd.ExecuteReader
If dr.Read = True Then
cmd.Parameters.Clear()
cmd.CommandText = "INSERT INTO sections (classno,section) VALUES (@classno,@section)"
cmd.Parameters.AddWithValue("@classno", dr!classno)
cmd.Parameters.AddWithValue("@section", TextBox2.Text)
dr.Close()
cmd.ExecuteNonQuery()
Else
dr.Close()
cmd.Parameters.Clear()
cmd.CommandText = "INSERT INTO classes (classname) OUTPUT(Inserted.classno) VALUES (@classname)"
cmd.Parameters.AddWithValue("@classname", TextBox1.Text)
Dim sid As Integer = cmd.ExecuteScalar
Dim cmd2 As New SqlCommand
cmd2.Connection = conn
cmd2.CommandText = "INSERT INTO sections (classno,section) VALUES (@classno,@section)"
cmd2.Parameters.AddWithValue("@classno", sid)
cmd2.Parameters.AddWithValue("@section", TextBox2.Text)
cmd2.ExecuteNonQuery()
cmd2.Dispose()
End If
cmd.Dispose()
conn.Close()بالتوفيق

