คำสั่ง Transaction

Report
1

สร้ างตารางโดยไปที่ Database explorer > table > add new table
◦ กาหนดให้ สร้ างตาราง UserPic เก็บข้ อมูลรูปภาพของผู้ใช้ งาน
2


ในหน้ า Register.aspx เพิ่มคอนโทรล FileUpload สาหรับให้ ผ้ ใู ช้ เลือกรูปภาพของ
ตนเอง
การ insert ข้ อมูลสมัครสมาชิกในหน้ านี ้จะ insert ข้ อมูลต่างๆ ลงไปพร้ อมกัน 2 ตาราง
คือ ตาราง User (insert ข้ อมูลทุกตัวยกเว้ น picture)และตาราง UserPic (insert
เฉพาะ username กับ picture) เป็ นการ insert ข้ อมูลแบบ Transaction
การ insert ข้ อมูลแบบ
Transaction นี ้ ควรจะต้ อง
insert ตารางใดก่อน?
3
ประกาศการเริ่มต้ นใช้ งาน SqlTransaction
SqlTransaction transac = dbcon.conn.BeginTransaction();
ประกาศ SqlCommand ที่ต้องการใช้ งานแบบ transaction
SqlCommand cmd = new SqlCommand();
cmd.Transaction = transac;
กาหนดค่ าให้ กับ SqlCommand และสั่งประมวลผล SqlCommand นัน้ (ตรงนีส้ ามารถสั่งได้ หลาย Command)
cmd.Connection = dbcon.conn;
cmd.CommandText = “…….คาสั่ง sql ที่ต้องการประมวลผล…….”;
cmd.ExecuteNonQuery();
หากทาคาสั่ง SqlCommand ที่ระบุไว้ ข้างต้ นสาเร็จทัง้ หมด ก็จะยืนยันการกระทาคาสั่งทัง้ หมดนัน้
transac.Commit();
หากทาคาสั่ง SqlCommand ที่ระบุไว้ ข้างต้ นคาสั่งใดไม่ สาเร็จก็ตาม ก็จะยกเลิกการกระทาคาสั่งทัง้ หมดนัน้
transac.Rollback();
4

แก้ ไขโค้ ดปุ่ ม Register ในหน้ า Register.aspx โดยให้ insert ข้ อมูล transaction
พร้ อมกันทังสองตาราง
้
5
6
เพิ่มคาสั่งด้ านล่ างนีล้ งไปในโค้ ดของปุ่ ม register ในส่ วนของ try
//เช็คก่อนว่ามีไฟล์ที่ผ้ ใู ช้ ต้องการอัพโหลดจริ ง
if (FileUpload1.HasFile == true) {
//ดึงชื่อไฟล์จากเครื่ อง client
string fn = System.IO.Path.GetFileName(FileUpload1.PostedFile
.FileName);
//กาหนดว่าต้ องการวางไว้ ที่พาธใดบน server
string savelocation = Server.MapPath("Image") + "\\" + fn;
//Save ไฟล์นนมาวางไว้
ั้
บน server ตามตาแหน่งที่ต้องการ
FileUpload1.PostedFile.SaveAs(savelocation);
}

7



FileUpload1.HasFile //ตรวจสอบว่ามีไฟล์อยูห่ รื อไม่
FileUpload1.PostedFile.ContentLength; //ตรวจสอบว่าไฟล์มีขนาดเท่าใด(byte)
FileUpload1.PostedFile.ContentType; //ตรวจสอบว่าเป็ นไฟล์ประเภทใด (eg.
jpg,bmp,doc)
8


เลือกหน้ าเว็บของผู้ใช้ ที่ต้องการ(หน้ าใดก็ได้ )ขึ ้นมา 1 หน้ า เช่น admin.aspx
เพิ่ม textbox สาหรับการแก้ ไขรหัสผ่านลงไป ดังรูป (อาจมีการให้ ยืนยันรหัสผ่านโดย
ตรวจสอบคูก่ บั validation control)
9
protected void btnSubmit_Click(object sender, EventArgs e) {
try {
// เขียนคาสั่งการ update password ลงในบริเวณนี ้
Label1.Text = “Update ข้ อมูลสาเร็ จ" ;
}
catch (Exception e1) {
Label1.Text = “Update ข้ อมูลไม่สาเร็ จ" + e1.ToString();
}
}
10

similar documents