ASP.NET(C#) การใช้งาน SqlDataReader กับ GridView

จากบทความที่แล้ว ASP.net การใช้ GridView ครั้งนี้เรามาใช้ SqlDataReader กับ GridView กันบ้างโดยก่อนที่จะสามารถใช้ SqlDataReader ได้นั้นเราก็ต้องทำการเปิด Connection แล้วคำสั่งที่ใช้สำหรับดึงข้อมูลซะก่อนซึ่งข้อมูลในฐานข้อมูลนั้น ผมใช้เป็นข้อมูลตัวอย่าง Northwind เรามาเริ่มกันเลยดีกว่า

ขั้นแรกผมทำการสร้างไฟล์ WebForm โดยตั้งชื่อว่า Query.aspx ดังรูป

สอนเขียน c# gridview

ต่อจากนั้นทำการเปิดไฟล์ Query.cs เพื่อทำการเขียนโค้ด โดยจำเป็นต้องมีการใช้ library สำหรับเชื่อมต่อฐานข้อมูล SQLServer โดยใช้คำสั่ง

[sourcecode language=”c#”]

using System.Data;
using System.Data.SqlClient;

[/sourcecode]

หลังจากนั้นก็กลับไปที่ไฟล์ webpage คือ Query.aspx เพื่อทำการสร้าง GridView โดยให้เอาเมาส์ลาก GridView จาก ToolBar ในส่วนของ Data

ASP.net การใช้ GridView

เมื่อสร้าง GridView เสร็จแล้วให้ทำการแก้ไข ID ของ GridView เป็น grid

ASP.net การใช้ GridView

 

หลังจากก็ทำการเขียนโค้ดในส่วนของการเชื่อมต่อฐานข้อมูลแล้งดึงข้อมูล ซึ่งมีโค้ดดังนี้

ต่อจากนั้นทำการเปิดไฟล์ Query.cs เพื่อทำการเขียนโค้ด โดยจำเป็นต้องมีการใช้ library สำหรับเชื่อมต่อฐานข้อมูล SQLServer โดยใช้คำสั่ง

[sourcecode language=”c#”]

SqlConnection conn = new SqlConnection(@”server=.\sqlexpress;integrated security=true;database=northwind”);
conn.Open();

string sqlString = “SELECT ProductID, ProductName, QuantityPerUnit, UnitPrice FROM Products”;
SqlCommand comm = new SqlCommand(sqlString,conn);

SqlDataReader reader = comm.ExecuteReader();
grid.DataSource = reader;
grid.DataBind();

[/sourcecode]

โค้ดชุดนี้ใส่ใน Function Page_Load คือให้เริ่มทำงานเมื่อหน้าเพจได้ทำการ load ข้อมูลนั้นเอง

ASP.net การใช้ GridView

ผลลัพธ์ก็จะได้ดังรูป จากตัวอย่างโค้ดจะเห็นว่าจะประกอบด้วย 3-4 ส่วนด้วยกันคือ 1 ทำการเชื่อมต่อฐานข้อมูลซึ่งจะต้องเป็นข้อมูลที่ถูกต้องเพื่อที่จะได้เข้าไปใช้งานได้ซึ่งตัวอย่างก็คือ

ต่อจากนั้นทำการเปิดไฟล์ Query.cs เพื่อทำการเขียนโค้ด โดยจำเป็นต้องมีการใช้ library สำหรับเชื่อมต่อฐานข้อมูล SQLServer โดยใช้คำสั่ง

[sourcecode language=”c#”]

SqlConnection conn = new SqlConnection(@”server=.\sqlexpress;integrated security=true;database=northwind”);
conn.Open();

[/sourcecode]

ซึ่งเวลา new SqlConnection ก็จะใส่รายละเอียดของ server ต่อจากนั้นก็ใช้คำสั่ง Open() เพื่อทำการเชื่อมต่อ

เมื่อเชื่อมต่อเสร็จแล้วก็จะทำการดึงข้อมูลโดยคำสั่ง sql นั้นถูกกำหนดแต่เก็บในตัวแปร sqlString ต่อจากนั้นเมื่อต้องการดึงข้อมูลก็จะใช้ SqlCommand เพื่อกำหนดคำสั่งและทำการดึงข้อมูล จากตัวอย่างนั้นก็จะใช้ฟังก์ชั่น ExecuteReader เพื่อทำการดึงข้อมูลมาเพื่อดูข้อมูล หลังจากดึงข้อมูลเรียบร้อยแล้วก็จะทำการแสดงผลไปยัง GridView โดยใช้คำสั่งต่อไปนี้

[sourcecode language=”c#”]

SqlDataReader reader = comm.ExecuteReader();
grid.DataSource = reader;
grid.DataBind();

[/sourcecode]

มันก็จะแสดงผลตามที่เราต้องการแล้วครับ

Leave a Reply

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