วิธีการทำเริ่มจากฝั่ง Database จะต้องสร้าง Database และ Table ขึ้นมา

store_procedure1หลังจากนั้นให้เปิดหน้า 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

 store_procedure2

สามารถ Test Store Procedure ได้ด้วยคำสั่ง

EXEC dbo.TEST_STORE_INSERT @ID='sompoch',@Password='kul' ;
--EXEC จะใช้ EXECUTE ก็ได้

 

หลังจากนั้นให้ไปเขียนโค้ดในฝั่งเว็บเพื่อทำการเรียกใช้งาน Store Procedure ที่สร้างขึ้นมา

store_procedure3หลังจากนั้นก็ให้กดที่ปุ่ม 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 จะต้องแก้ไขในส่วนนี้ )

 

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.