Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak rozwiązać błąd maksymalnej długości (jest zbyt długi) w zapytaniu sql c#

Błąd mówi, że identyfikator nazwa jest za długa; to w połączeniu z błędem w niezamkniętym cudzysłowie oznacza, że ​​prawdopodobnie przegapiłeś cytat otwierający. Oznacza to, że masz to:

INSERT INTO Foo ( A ) VALUES ( AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')

zamiast

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

Nie powinieneś budować swoich zapytań za pomocą łączenia ciągów; to jeden z powodów. Sparametryzowane zapytania zapewnią Ci wycenę. (Uwaga:nie musisz używać przechowywanych procesów, aby używać sparametryzowanych zapytań.)

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;

itp.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zwracanie wartości z instrukcji INSERT w SQL Server 2008

  2. Dlaczego procedura składowana jest szybsza niż Query

  3. 4 sposoby zapobiegania przeciążeniu alertów dzięki monitorowaniu serwera SQL

  4. SSRS wyświetla pierwsze n, ale suma zawiera wszystkie wartości

  5. NodeJS MSSQL WHERE IN Przygotowana instrukcja SQL