การใช้ MessageBoxButtons.YesNo อยากให้กด NO แล้วไม่ทำลบข้อมูล
โค๊ดนี้มันก็ได้นะครับ
เพราะ ที่ผมลอง พอกด yes มันก็ขึ้นแสดง msgbox[แทนการลบข้อมูล]
ถ้าตอบ โน ก็ไม่มีอะไรเกิดขึ้นครับ
งั้นต้องดูตอนเขียนลบข้อมูลละหละครับ ว่าเขียนออกมายังไง
Date :
2013-06-13 11:05:10
By :
CPU4Core
โค้ดไม่มีปัญหาครับ แต่ถ้าเกิดมีปัญหาผมเดาแบบง่ายๆว่า คุณใส่โค้ดที่ใช้ลบข้อมูลไว้นอก If พอมันทำในวงเล็บ If เสร็จ มันก็จะออกมาทำคำสั่ง ลบต่อไป ไม่ว่าจะตอบ Yes หรือ No มันก็ทำ วิธีแก้คือ
ให้ใส่โค้ดที่ลบข้อมูลไว้ใน If{ ภายในวงเล็บ } หรือ เติมคำสั่ง return; ต่อจากโค้ดที่คุณโพสไว้ในกระทู้ โดยไม่ต้องย้ายโค้ดที่ลบเข้ามาใน If
Date :
2013-06-13 13:14:44
By :
01000010
ลองดูแบบนี้ไหมครับ
Code (C#)
if (MessageBox.Show("ต้องการลบข้อมูล ?", "ยืนยันการลบข้อมูล", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
MessageBox.Show("ลบข้อมูลเรียบร้อย");
}
Date :
2013-06-13 16:56:28
By :
Agility
ผมลองแล้วอะครับ เมื่อกด NO มันยังทำการลบข้อมูลอยู่เลย ^^" นี่คือ Code ของการ ลบ ครับ
Code (C#)
private void btdelete_Click(object sender, EventArgs e)
{
String connString = "datasource=localhost; port=3306; username=root; Password=1234";
string Query = "DELETE From tour.customer WHERE cus_id='" + txtcusid.Text + "' ;";
MySqlConnection conDatabase = new MySqlConnection(connString);
MySqlCommand cmdDatabase = new MySqlCommand(Query, conDatabase);
MySqlDataReader myReader;
try
{
conDatabase.Open();
myReader = cmdDatabase.ExecuteReader();
DialogResult dialog = MessageBox.Show("ต้องการลบข้อมูลหรือไม่?", "ยืนยันการลบข้อมูล", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dialog == DialogResult.Yes)
{
MessageBox.Show("ลบข้อมูลเรียบร้อย", "ลบข้อมูลสำเร็จ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
while (myReader.Read())
{
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
// Load Table in DataGridView
load_Showall();
// Clear Data in GroupBox
clear();
}
Date :
2013-06-14 10:34:52
By :
Programmer yajok
Code (C#)
try
{
conDatabase.Open();
DialogResult dialog = MessageBox.Show("ต้องการลบข้อมูลหรือไม่?", "ยืนยันการลบข้อมูล", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (dialog == DialogResult.Yes)
{
if (cmdDatabase.ExecuteNonQuery > 0){
MessageBox.Show("ลบข้อมูลเรียบร้อย", "ลบข้อมูลสำเร็จ", MessageBoxButtons.OK, MessageBoxIcon.Information);
} else{
MessageBox.Show("ลบข้อมูลไม่สำเร็จ", "ลบข้อมูลล้มเหลว", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
while (myReader.Read())
{
}
}
ผมไม่ได้ลองก่อนนะครับ เขียนดิบๆ แก้เอานิดหน่อยนะครับ
Date :
2013-06-14 10:49:41
By :
คนงานตัดอ้อย
คำสั่งลบ มันรันก่อนถาม ไม่ใช่เหรอครับ
Code (VB.NET)
conDatabase.Open();
12.myReader = cmdDatabase.ExecuteReader(); --->>> ลบเรียบร้อยแล้ว
13.
14.DialogResult dialog = MessageBox.Show("ต้องการลบข้อมูลหรือไม่?", "ยืนยันการลบข้อมูล", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
15.if (dialog == DialogResult.Yes)
16.{
17.MessageBox.Show("ลบข้อมูลเรียบร้อย", "ลบข้อมูลสำเร็จ", MessageBoxButtons.OK, MessageBoxIcon.Information);
18.}
19.
20.while (myReader.Read())
21.{
22.
23.}
Date :
2013-06-14 11:27:39
By :
fonfire
คุณสั่งให้มันลบก่อน แล้วค่อยมาถามว่าจะลบไหม ตอบอะไรก็ลบทั้งนั้นแหละครับ
Date :
2013-06-17 17:14:22
By :
CPU4Core
Load balance : Server 01