string sql = "UPDATE [" + table + "] SET " + col + " = '" + val + "' WHERE 點數 ='" + id + "'";
// 點數 為 int 類型,拼接後變 WHERE 點數 ='123' → 類型不匹配
'value'。value。
string sql = "UPDATE [" + table + "] SET " + col + " = '" + val + "' WHERE 點數 = " + id; // 去掉 id 兩側單引號
string sql = "UPDATE [" + table + "] SET " + col + " = @val WHERE 點數 = @id";
using (OleDbCommand cmd = new OleDbCommand(sql, conn)) {
cmd.Parameters.AddWithValue("@val", val);
cmd.Parameters.AddWithValue("@id", id);
cmd.ExecuteNonQuery();
}
參數化自動處理類型轉換,防止 SQL 注入,強烈推薦。