Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да разрешим грешката с максималната дължина (тя е твърде дълга) в sql заявка c#

Грешката казва, че идентификатор името е твърде дълго; това в комбинация с грешката в незатворените кавички означава, че вероятно сте пропуснали начален цитат. Тоест имате това:

INSERT INTO Foo ( A ) VALUES ( AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')

вместо

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

Не трябва да създавате вашите заявки чрез конкатентация на низове; това е една от причините. Параметризираните заявки ще осигурят точното цитиране за вас. (Забележка:не е необходимо да използвате съхранени процедури, за да използвате параметризирани заявки.)

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;

и т.н.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ПРОВЕРЕТЕ ОГРАНИЧЕНИЕТО на множество колони

  2. Свързване към SQL Server 2008 от Java

  3. Как да намеря съхранени процедури по име?

  4. Как да получа списък с всички таблици в база данни с помощта на TSQL?

  5. SQL Изберете стойности в скоби