พึ่งเคยใช้งานครั้งแรกโปรดอ่านที่นี่! howtouse!
x
  • Register
หางานด้าน IT อยู่เหรอ?

ตรวจสอบค่าซ้ำกันใน DataGridView หรือใน Database sql

0 votes

จากรูป เมื่อเพิ่มหรือแก้ไขข้อมูลที่เป็นหมายเลขบัตรประชาชน เมื่อกด"บันทึก"อยากให้มันไปตรวจสอบในฐานข้อมูลนะครับ ว่ามันมีข้อมูลอยู่แล้วหรือไม่ ถ้าไม่ก็บันทึกลงได้ หรือถ้ามีแล้วก็ให้ขึ้น MessageBoxมาเตือนว่ามีข้อมูลแแล้ว :: หรือเพื่อลดความซับซ้อนของโค้ด ก็ตรวจสอบแค่ใน DataGridView ก็ได้ครับ

 

smiley ขอบคุณครับ 


 

ถามเมื่อ Dec 2, 2013 in C# โดย nayninew (104 คะแนน)
edited Dec 2, 2013 โดย nayninew
   

1 Answer

–1 vote

...ต่อจากคำถามนะครับ...

// โค้ดปุ่มบันทึกครับ

private void btSave_Click(object sender, EventArgs e)
{
if (Program.checkMaskedBox(mkIDCard))    // สร้างไว้หน้า Program.cs 
{
MessageBox.Show("กรุณากรอกข้อมูลหมายเลขบัตรประชาชนให้ถูกต้องด้วย!", "คำเตือน", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
if (Program.checkTextBox(txtFName) || Program.checkTextBox(txtLName) || Program.checkTextBox(txtUserName) || Program.checkTextBox(txtPassword) || Program.checkTextBox(txtAddress))    // สร้างไว้หน้า Program.cs 
{
MessageBox.Show("กรุณากรอกข้อมูลชื่อจริง,นามสกุล,UserName,Password,ที่อยู่ ให้ถูกต้องด้วย!", "คำเตือน", MessageBoxButtons.OK, MessageBoxIcon.Warning);
return;
}
Program.clickButton("SAVE", btAdd, btSave, btEdit, btDelete, btCancel);
if (Program.checkDuplicate("SELECT IDCard FROM TBEmployee WHERE IDCard='" + IDCard + "'"))
{
string sql = "UPDATE TBEmployee SET " +
"IDCard='" + mkIDCard.Text.Trim() + "'," +
"FName='" + txtFName.Text.Trim() + "'," +
"LName='" + txtLName.Text.Trim() + "'," +
"Gender='" + cbGender.Text.Trim() + "'," +                    
"Phone='" + mkPhone.Text.Trim() + "'," +
"Address='" + txtAddress.Text.Trim() + "'," +
"EMail='" + txtEmail.Text.Trim() + "'," +
"UserName='" + txtUserName.Text.Trim() + "'," +
"Password='" + txtPassword.Text.Trim() + "' " +
"WHERE IDCard='" + IDCard + "'";
using (SqlCommand cm = new SqlCommand(sql, Program.cn))
{
if (Program.connection())
{
try
{
cm.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show("เกิดข้อผิดพลาดในส่วนของการแก้ไขข้อมูล เนื่องจาก " + ex.Message, "เกิดปัญหา", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
}
MessageBox.Show("การแก้ไขข้อมูลเรียบร้อยแล้ว", "สำเร็จ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
else
{
string sql = "INSERT INTO TBEmployee(IDCard,FName,LName,Gender,Phone,Address,EMail,UserName,Password) " +
"VALUES('" + mkIDCard.Text.Trim() + "','" + txtFName.Text.Trim() +
"','" + txtLName.Text.Trim() + "','" + cbGender.Text.Trim() +
"','" + mkPhone.Text.Trim() + "','" + txtAddress.Text.Trim() +
"','" + txtEmail.Text.Trim() + "','" + txtUserName.Text.Trim() +
"','" + txtPassword.Text.Trim() + "')";
using (SqlCommand cm = new SqlCommand(sql, Program.cn))
{
if (Program.connection())
{
try
{
cm.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show("เกิดข้อผิดพลาดในส่วนของการบันทึกข้อมูล เนื่องจาก " + ex.Message, "เกิดปัญหา", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
}
}
MessageBox.Show("การบันทึกข้อมูลเรียบร้อยแล้ว", "สำเร็จ", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
if (checkAdmin())
{
showGridEmployee("SELECT * FROM TBEmployee ORDER BY IDCard");
}
else
{
showGridEmployee("SELECT * FROM TBEmployee WHERE IDCard='" + Program.emp_id + "'");
}  
clear();
gbEmployee.Enabled = false;            
}

// โค้ดเงื่อนไขใน if (Program.checkMaskedBox(mkIDCard)) และ   if (Program.checkTextBox(txtFName) ซึ่งผมไปสร้างไปในหน้า Program.cs ไว้ต่างหากครับ
 
public static bool checkMaskedBox(MaskedTextBox objectMK)
{
if (objectMK.Text.Replace("_", "") == "" || objectMK.Text.Replace("_", "").Length < 13)
{
return true;
}
else
{
return false;                              
}
}
public static bool checkTextBox(TextBox objectTXT)
{
if (objectTXT.Text == "")
{
return true;
}
else
{
return false;
 

 

ตอบเมื่อ Dec 2, 2013 โดย nayninew (104 คะแนน)
edited Dec 2, 2013 โดย nayninew
check  ในกริด
 foreach (DataGridViewRow row in this.dgv.Rows)
{
 if (dgv.rows.cell[0].value.tostring() == mkIDCard.Text)
{
}
}

Related questions

0 votes
1 คำตอบ
775 views ถามเมื่อ Jul 4, 2012 in C# โดย Sitthichai Nooyang (496 คะแนน)
0 votes
0 คำตอบ
0 votes
0 คำตอบ
267 views ถามเมื่อ Dec 9, 2015 in C# โดย Jidrid (102 คะแนน)
0 votes
0 คำตอบ
87 views ถามเมื่อ Nov 19, 2015 in C# โดย kidscirenser (104 คะแนน)
0 votes
0 คำตอบ
...