Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Lỗi sql tên cột không hợp lệ

Bạn có thể cần dấu ngoặc kép xung quanh các trường chuỗi đó, nhưng bạn nên sử dụng truy vấn được tham số hóa!

cmd.CommandText = "INSERT INTO Data ([Name],PhoneNo,Address) VALUES (@name, @phone, @address)";
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue("@name", txtName.Text);
cmd.Parameters.AddWithValue("@phone", txtPhone.Text);
cmd.Parameters.AddWithValue("@address", txtAddress.Text);
cmd.Connection = connection;

Ngẫu nhiên, truy vấn ban đầu của bạn có thể đã được sửa như thế này (lưu ý các dấu ngoặc kép):

"VALUES ('" + txtName.Text + "','" + txtPhone.Text + "','" + txtAddress.Text + "');";

nhưng điều này sẽ khiến nó dễ bị tấn công SQL Injection vì người dùng có thể nhập vào

'; drop table users; -- 

vào một trong các hộp văn bản của bạn. Hay nói một cách trần tục hơn, Daniel O'Reilly tội nghiệp luôn ngắt câu hỏi của bạn.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cập nhật Dữ liệu Salesforce bằng Con trỏ Máy chủ SQL

  2. Cách trả về một chuỗi theo thứ tự ngược bằng SQL Server - REVERSE ()

  3. Nhập 'xml' vào Sql Server

  4. DATEPART () Ví dụ trong SQL Server

  5. Chuyển đổi ‘datetimeoffset’ thành ‘datetime2’ trong SQL Server (Ví dụ T-SQL)