|
|
|
[ขอคำปรึกษา] ถ้าข้อมูลตรง field ซ้ำกัน จะ insert ลง db ไม่ได้ |
|
|
|
|
|
|
|
ผลลองศึกษาการ insert ข้อมูลต่อยอดจาก link ตรงนี้ครับ
https://www.thaicreate.com/dotnet/vb-net-cs-mysql-ado-net.html
ผมได้เขียนทดลองเขียน function ขึ้นมาอันหนึ่งครับ
Code (C#)
public int ExecuteQuery(string txtQuery)
{
MySqlCommand cmd = new MySqlCommand();
try
{
cmd.Connection = OpenConn();
cmd.CommandText = txtQuery;
int iReturn = cmd.ExecuteNonQuery();
// ใช้สำหรับเพิ่ม /ลบ / แก้ไข
return iReturn;
}
catch (Exception Ex)
{
throw Ex;
return 0;
}
}
และ
Code (C#)
string strSql = "INSERT INTO member VALUES('"+member.ustomerID+"', '"+member.Username+"', '"+member.Password+"', '"+member.Name+"', '"+member.Email+"', '"+member.CountryCode+"', '"+member.Budget+"', '"+member.Used+"')";
ปัญหาของผมคือ
สมมุติว่าใน ฐานข้อมูล ฟิล Username = C ,Password =C มีอยู่ในฐานข้อมูลแล้ว
แล้วให้โปรแกรม insert Username = C ,Password =A มันจะฟ้องตรง
throw Ex; ว่า Duplicate entry 'c' for key 2
ต้องแก้ไขยังไงดีครับ
Tag : .NET, Win (Windows App), C#
|
|
|
|
|
|
Date :
2012-10-17 01:29:38 |
By :
handfoot4work |
View :
1072 |
Reply :
4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (C#)
string strSQL = "SELECT COUNT(*) FROM Customer WHERE Cus_Email = '" + this.txtAddEmail.Text + "' "
อันนี้จะเช็ค 2 อย่าง
Code (C#)
string strSQL = "SELECT COUNT(*) FROM Customer WHERE Cus_Email = '" + this.txtAddEmail.Text + "' AND Cus_Email = '" + this.txtAddEmail.Text + "' "
ถ้าใส่ OR คือ เช็คตัวอื่นด้วย AND คือ เช็ค 2 ตัว ถ้า 2 ตัวนี้ทำไม่ให้เพิ่ม ตัวใดตัวหนึ่งซ้ำเพิ่มได้
|
ประวัติการแก้ไข 2012-10-17 03:48:24
|
|
|
|
Date :
2012-10-17 03:47:23 |
By :
peteyothin |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มันก็ถูกแล้วนี่ คุรจะให้มั user =ื่อเดียวกันในระบบได้หรอ ??? เวรกรรมระบบ Y-Y หากผิดผลาดก็ขออภัย
|
|
|
|
|
Date :
2012-10-17 03:52:58 |
By :
dekkuza |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้า User เป็น PK มันจะซ้ำกันไม่ได้อยู่แล้วครับ
ถ้าอยากให้ซ้ำกันได้ ก็ลองเปลี่ยนให้ตัวอื่นเป็น PK แทน User ดูครับ
|
|
|
|
|
Date :
2012-10-18 14:20:35 |
By :
ococho |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณทุกท่านที่เข้ามาตอบนะครับ
ตอบท่าน ococho PK จาก link ที่ผมศึกษา คือ CustomerID นะครับ
ตอบท่าน pete ผมใช้ AND ถูกต้องครับ
ตอบท่าน dekkuza ผมแค่ลองศึกษาดูครับกำลังเป็นมือใหม่
ผมได้ทำการ drop table แล้วสร้างใหม่ มันก็สามารถใช้งานได้ปรกติครับ insert ได้แล้ว
ก็ไม่ทราบสาเหตุเหมือนกันครับว่ายังไง อาจจะเป็นความผิดพลาดของผมเองตอนใช้ command สร้าง table
ขอบคุณทุกท่านครับ
|
|
|
|
|
Date :
2012-10-18 20:06:07 |
By :
handfoot4work |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|