sql >> Base de Datos >  >> RDS >> Sqlserver

Cómo resolver el error de longitud máxima (es demasiado largo) en la consulta sql c#

El error dice que el identificador el nombre es demasiado largo; esto combinado con el error de comillas no cerradas significa que probablemente se perdió una cita de apertura. Es decir, tienes esto:

INSERT INTO Foo ( A ) VALUES ( AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA')

en lugar de

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

No debería crear sus consultas a través de la concatenación de cadenas; esta es una de las razones. Las consultas parametrizadas obtendrán la cotización correcta para usted. (Nota:no necesita usar procesos almacenados para usar consultas parametrizadas).

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;

etc.