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

Cách giải quyết lỗi độ dài tối đa (quá dài) trong truy vấn sql c #

Lỗi nói rằng số nhận dạng cái tên quá dài; điều này kết hợp với lỗi dấu ngoặc kép không được đóng có nghĩa là bạn có thể đã bỏ lỡ một trích dẫn mở đầu. Đó là, bạn có cái này:

INSERT INTO Foo ( A ) VALUES ( AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')

thay vì

INSERT INTO Foo ( A ) VALUES ( 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')

Bạn không nên xây dựng các truy vấn của mình thông qua sự kết hợp chuỗi; đây là một trong những lý do. Các truy vấn được tham số hóa sẽ nhận được báo giá phù hợp với bạn. (Lưu ý:bạn không cần phải sử dụng các procs được lưu trữ để sử dụng các truy vấn được tham số hóa.)

var sql = "INSERT INTO My_RSS ( Title, Description, Date, Link, Rate, Name )
           VALUES ( @Title, @Desc, @PostDate, @Link, @Rate, @Name )";

SqlCommand cmd = new SqlCommand(sql, Connect());
cmd.Parameters.Add("@Title", SqlDbType.VarChar, 100).Value = RSS_title;
cmd.Parameters.Add("@Desc", SqlDbType.VarChar, 8192).Value = RSS_description;
cmd.Parameters.Add("@PostDate", SqlDbType.SmallDateTime).Value = DateTime.Now;
cmd.Parameters.Add("@Rate", SqlDbType.Int).Value = rate;

vv



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sửa kế hoạch tự động trong SQL Server

  2. Chọn dữ liệu thông qua một chức năng được định giá bằng bảng trong SQL Server

  3. Cuộc gọi ODBC không thành công với thủ tục được lưu trữ - Chuyển qua truy vấn

  4. Lọc truy vấn SQL theo danh sách các tham số

  5. OPTION (RECOMPILE) luôn nhanh hơn; Tại sao?