sql >> Databáze >  >> RDS >> Sqlserver

Jak vyřešit chybu maximální délky (je příliš dlouhá) v dotazu SQL c#

Chyba říká, že identifikátor jméno je příliš dlouhé; to v kombinaci s chybou neuzavřených uvozovek znamená, že jste pravděpodobně vynechali úvodní nabídku. To znamená, že máte toto:

INSERT INTO Foo ( A ) VALUES ( AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')

místo

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

Neměli byste vytvářet své dotazy pomocí řetězení řetězců; to je jeden z důvodů. Parametrizované dotazy vám zajistí cenovou nabídku. (Poznámka:k použití parametrizovaných dotazů nemusíte používat uložené procesy.)

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;

atd.



  1. Jak použít konstantu balíčku v příkazu SQL SELECT?

  2. Len() vs datalength() v SQL Server 2005

  3. Jak spojit dvě nesouvisející tabulky v sql

  4. Spojení 2 jednoho k mnoha vztahům