執行 INSERT INTO patient(...) 無報異常但數據未入庫,或提示語法錯誤。
是否已收費 字段非空,SQL 未包含該字段。
INSERT INTO patient(ID, 名字, 年齡, 性別, 電話, 科室, 是否已收費)
VALUES (@id, @name, @age, @sex, @phone, @dept, 0)
'@id';若為自增,則不應顯式插入 ID。using (OleDbConnection conn = new OleDbConnection(connStr))
using (OleDbCommand cmd = new OleDbCommand(sql, conn)) {
cmd.Parameters.AddWithValue("@id", txtID.Text);
cmd.Parameters.AddWithValue("@name", txtName.Text);
// ... 其他參數
conn.Open();
cmd.ExecuteNonQuery();
}
參數化自動處理類型轉換、特殊字符轉義,防注入且代碼更清晰。