11-07-13, 08:07 PM
حريف برمجة كتب :كلامك صحيح اقدم لك الحل مره أخرى :
نفس الاجراء المخزن السابق ولكن الكود يصبح كالتالي :
كود :
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 = "savetwotables"
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@classname", TextBox1.Text)
cmd.Parameters.AddWithValue("@classno", "")
cmd.Parameters.AddWithValue("@section", TextBox2.Text)
cmd.ExecuteNonQuery()
End If
cmd.Dispose()
conn.Close()
والإستعلام يكون كالتالي لعرض البيانات في القريد مثلاً :
كود :
Dim dp As New SqlDataAdapter("SELECT classes.classno, classes.classname, sections.section FROM classes INNER JOIN sections ON classes.classno = sections.classno order by classes.classname, sections.section", conn)
Dim ds As New DataSet
ds.Clear()
dp.Fill(ds, "classes")
GridView1.DataSource = ds.Tables(0)
GridView1.DataBind()
dp.Dispose()
بالتوفيق
ألف شكر لك أخي الفاضل حريف برمجة
ولكن ماذا عن طريقتك الأولى بدون استخدام الإجراء المخزن هل يمكن تطبيق ذلك دون الحاجة للإجراء المخزنstored procedures؟؟
اعتذر عن كثرة الأسئلة بسبب انني مبتدئة واود الاستفادة من خبراتكم وجزاك الله كل خير

