اجرای یک دستور SQL از درون صفحات ASP.NET به دو صورت امکان پذیر است . روش اول این است که دستور مورد نظر را مستقیما در کد صفحه نوشته و اجرا کنیم . اما روش دوم این است که آن دستور را در قالب یک Procedure بسته بندی کرده و سپس آن را از داخل خود صفحه به اجرا در آوریم . استفاده از Procedureها باعث میشود در وب سایت هایی که وابستگی زیادی به بانک اطلاعاتی دارند کارایی بهتر و سریعتری را مشاهده کنیم .
در این مقاله نحوه درج یک رکورد با استفاده از Procedure را بررسی میکنیم . با اندک تغییری در کدها میتوانید موارد دیگر مانند حذف یا ویرایش را بنویسید .
ابتدا وارد محیط SQL Server شده و یک جدول با چهار فیلد بسازید یا قطعه کد زیر را در پنجره NEW Query تایپ کرده و کلید F5 را بزنید تا جدول مورد نظر ایجاد شود .
کد:CREATE TABLE Student (Id int primary key,Name nchar(10),Family nchar(10),Address nchar(10))
پس از آن باید یک Procedure یا همان رویه ذخیره شده برای درج رکورد بسازیم .
قطعه کد زیر نحوه ساخت Procedure را نمایش میدهد .
کد:Create Procedure AddStudent
@Id int,@Name nchar(10),@Family Nchar(10),@Address Nchar(10)
as
INSERT INTO Student (Id,Name,Family,Address)VALUES(@Id,@Name,@Family,@Address)
و در انتها یه پروژه ایجاد کنید و روی فرم چهار کادر متن ( TextBox ) و یک دکمه ( Button ) قرار بدید . وارد دکمه بشید و کد زیر رو بنویسید .
کد:Using Connection As New SqlConnection(ConfigurationManager.ConnectionStrings("MyDB").ToString)
Using Command As New SqlCommand("AddStudent", Connection)
Command.CommandType = CommandType.StoredProcedure
Command.Parameters.Add(New SqlParameter("@Id", TextBox1.Text))
Command.Parameters.Add(New SqlParameter("@Name", TextBox2.Text))
Command.Parameters.Add(New SqlParameter("@Family", TextBox3.Text))
Command.Parameters.Add(New SqlParameter("@Address", TextBox4.Text))
Try
Connection.Open()
Command.ExecuteNonQuery()
Response.Write("رکورد مورد نظر درج شد")
Catch ex As Exception
Response.Write(ex.Message)
End Try
End Using
End Using
البته باید رشته اتصال به بانک رو در فایل Web.Config تنظیم کنید .