|
|
|
ฟ้อง Syntax error in UPDATE statement. หาทางแก้ไม่ได้เลย |
|
|
|
|
|
|
|
Code (C#)
private void insertOrUpdate()
{
if (txtName.Text == "")
{
MessageBox.Show("กรุณากรอกข้อมูลให้ครบ", "Warning");
return;
}
string sql = "";
if (txtID.Text == "")
sql = "INSERT INTO Receipet(CustName,Tel,Dates,Time,Field,Hours) VALUES(@name,@tel,@date,@time,@field,@hours)";
else
sql = "UPDATE Receipet SET CustName = @name,Tel = @tel,Dates = @date,Time = @time,Field = @field,Hours = @hours " + "WHERE CustID = "
+ txtID.Text;
_cmd = new OleDbCommand(sql, _conn);
_cmd.Parameters.AddWithValue("name", txtName.Text);
_cmd.Parameters.AddWithValue("tel", txtTel.Text);
_cmd.Parameters.AddWithValue("date", txtDate.Text);
_cmd.Parameters.AddWithValue("time", txtTime.Text);
_cmd.Parameters.AddWithValue("field", txtField.Text);
_cmd.Parameters.AddWithValue("hours", txtHours.Text);
int affectedRow = _cmd.ExecuteNonQuery();
if (affectedRow < 1)
MessageBox.Show("เกิดข้อผิดพลาดในการบันทึกข้อมูล", "Warning");
else
{
MessageBox.Show("ข้อมูลถูกจัดเก็บแล้ว", "Result");
string name = txtName.Text;
readData();
fillListBox();
clearBindings();
int idx = lstRec.FindStringExact(name);
if (idx > -1)
lstRec.SetSelected(idx, true);
}
}
ไม่ทราบว่าผิดตรงไหนครับ มันฟ้อง Syntax error in UPDATE statement.ตรง _cmd.ExecuteNonQuery(); อะครับ หาทางแก้ไม่ได้เลย ขอบคุณครับ
Tag : .NET, Ms Access, C#
|
|
|
|
|
|
Date :
2012-04-09 22:35:05 |
By :
art |
View :
1401 |
Reply :
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ลองเปลี่ยนแล้วครับยังเหมือนเดิม
|
|
|
|
|
Date :
2012-04-10 06:53:21 |
By :
art |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับผม ลืมไปใช้ฟิลด์ชื่อ Time
|
|
|
|
|
Date :
2012-04-10 06:58:24 |
By :
art |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
แม้จะทำงานได้ปรกติแล้ว อย่าลืมทำอย่างที่พี่วินบอกนะครับ คุณต้องหลีกเลี่ยงคำสงวนหรืออาจใช้ prefix นำหน้าสักหน่อย เพื่อเป็นการป้องกันการเกิดข้อผิดพลาดและป้องกันการสับสนของตัวเราเองด้วยครับ
|
|
|
|
|
Date :
2012-04-10 21:36:08 |
By :
SharpDev |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 01
|