วิธีการทำเริ่มจากฝั่ง Database จะต้องสร้าง Database และ Table ขึ้นมา
หลังจากนั้นให้เปิดหน้า Query Windows ขึ้นมาเพื่อเขียนคำสั่งสร้าง Store Procedure และกำหนด Parameter กับเงื่อนไขที่จะให้ Store Procedure ทำงาน
-- สร้าง Store Procedure ใช้ชื่อว่า dbo.TEST_STORE_INSERT CREATE PROCEDURE dbo.TEST_STORE_INSERT( --กำหนด Parameter @ID และ @Password @ID varchar(100), @Password varchar(100) ) AS Begin --สั่งให้ Store Procedure นี้ทำการ Insert ข้อมูลลงในตาราง User Insert into dbo.[User]( ID, [Password] )VALUES( @ID, @Password ) End RETURN
สามารถ Test Store Procedure ได้ด้วยคำสั่ง
EXEC dbo.TEST_STORE_INSERT @ID='sompoch',@Password='kul' ; --EXEC จะใช้ EXECUTE ก็ได้
หลังจากนั้นให้ไปเขียนโค้ดในฝั่งเว็บเพื่อทำการเรียกใช้งาน Store Procedure ที่สร้างขึ้นมา
หลังจากนั้นก็ให้กดที่ปุ่ม Submit เพื่อทำการเขียนโค้ดในส่วนของ Code Behide เพื่อทำการรับค่าจาก TextBox ID และ Password เพื่อทำการส่งค่าไปให้ Store Procedure ทำงาน
protected void btnSubmit_Click(object sender, EventArgs e) { SqlConnection conn = null; SqlDataReader rdr = null; conn = new SqlConnection("Server=(local);DataBase=test;Integrated Security=SSPI"); conn.Open(); // 1. create a command object identifying // the stored procedure SqlCommand cmd = new SqlCommand( "TEST_STORE_INSERT", conn); // 2. set the command object so it knows // to execute a stored procedure cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("@ID", SqlDbType.NVarChar).Value = ID.Text; cmd.Parameters.Add("@Password", SqlDbType.NVarChar).Value = Password.Text; // execute the command rdr = cmd.ExecuteReader(); //while (rdr.Read()) //{ // Console.WriteLine( // "Product: {0,-35} Total: {1,2}", // rdr["ID"], // rdr["Password"]); //} }
จากโค้ดด้านบน
ในส่วนนี้จะเป็นการเรียกใช้ Store Procedure ที่สร้างขึ้น
SqlCommand cmd = new SqlCommand(
“TEST_STORE_INSERT”, conn);
cmd.CommandType = CommandType.StoredProcedure;
ส่วนต่อมาจะเป็นการประกาศ Parameter ให้กับ Store Procedure และทำการส่งค่าจาก TextBox ให้กับ Parameter ที่สร้างขึ้น
cmd.Parameters.Add(“@ID”, SqlDbType.NVarChar).Value = ID.Text;
cmd.Parameters.Add(“@Password”, SqlDbType.NVarChar).Value = Password.Text;
ส่วนขั้นตอนการติดต่อกับ Database เนื่องจากเครื่องที่ใช้ทดสอบมี Web Server กับ Database Server ไว้ที่เดียวกันเลยใช้ Connection String แบบอาศัยการเชื่อมต่อภายใน Local โดยใช้ User Windows ในการเชื่อมต่อสังเกตุได้จาก คำสั่งนี้
conn = new
SqlConnection(“Server=(local);DataBase=test;Integrated Security=SSPI”);
(ถ้าจะเชื่อมต่อด้วย User จาก Sql Server จะต้องใช้ Username, Password จะต้องแก้ไขในส่วนนี้ )