INSERT en BD y leer del DataReader

03/10/2004 - 17:56 por Néstor Suárez | Informe spam
Este es el error que me aparece al intentar introducir la sentencia
siguiente:
"INSERT INTO test(id, nombre_fichero, contenido, ruta_fichero) VALUES (,
'nek&roser.jpg', 1234, 'G:\Nestor');INSERT INTO test(id, nombre_fichero,
contenido, ruta_fichero) VALUES (, 'nek&roser.jpg', 1234, 'G:\Nestor');"

Y este es el error:
"You have an error in your SQL syntax. Check the manual that
corresponds to your MySQL server version for the right syntax to use
near ' 'nek&roser.jpg', 1234, 'G:\Nestor')' at line 1

Si alguien me podria decir qué es lo que falla :P el campo "id" es
AUTOINCREMENT y es la clave.. y creo que no me hace falta decir nada más
sobre la BD.

Saludos desde Canarias,
Néstor Suárez.

Preguntas similare

Leer las respuestas

#1 Octavio Hernandez
03/10/2004 - 18:07 | Informe spam
Néstor,

No utilizo MySQL, pero probablemente no deberías incluir el campo ID en la
lista de campos, ya que es autoinc:

INSERT INTO test(nombre_fichero, contenido, ruta_fichero) VALUES
('nek&roser.jpg', 1234, 'G:\Nestor');

O a lo mejor habría que pasar un 0 en la posición correspondiente (algunas
BD lo requieren):

INSERT INTO test(id, nombre_fichero, contenido, ruta_fichero) VALUES (0,
'nek&roser.jpg', 1234, 'G:\Nestor');

Slds

"Néstor Suárez" escribió en el mensaje
news:
Este es el error que me aparece al intentar introducir la sentencia
siguiente:
"INSERT INTO test(id, nombre_fichero, contenido, ruta_fichero) VALUES (,
'nek&roser.jpg', 1234, 'G:\Nestor');INSERT INTO test(id, nombre_fichero,
contenido, ruta_fichero) VALUES (, 'nek&roser.jpg', 1234, 'G:\Nestor');"

Y este es el error:
"You have an error in your SQL syntax. Check the manual that
corresponds to your MySQL server version for the right syntax to use
near ' 'nek&roser.jpg', 1234, 'G:\Nestor')' at line 1

Si alguien me podria decir qué es lo que falla :P el campo "id" es
AUTOINCREMENT y es la clave.. y creo que no me hace falta decir nada más
sobre la BD.

Saludos desde Canarias,
Néstor Suárez.
Respuesta Responder a este mensaje
#2 Néstor Suárez
03/10/2004 - 19:02 | Informe spam
He probado de las dos formas (omitiendo el campo y dándole valor 0 pero
falla). El campo no puede ser cero, por eso creo que falló el segundo
método. De todas formas, he estado observando el código que me generaba
el comando y está la siguiente linea:

mySqlInsertCommand.Parameters.Add(new CoreLab.MySql.MySqlParameter("p1",
CoreLab.MySql.MySqlType.BigInt, 0, "id"));

Supongo que por eso al omitir el campo "id" falla, ya que se esperaría
en el mySqLInsertCommand y no en la base de datos realmente.
Probaré a quitar este parámetro y a omitir el campo (ya a la desesperada).
Gracias por la ayuda! ;)

Saludos desde Canarias,
Néstor Suárez.

Octavio Hernandez escribió:

Néstor,

No utilizo MySQL, pero probablemente no deberías incluir el campo ID en la
lista de campos, ya que es autoinc:

INSERT INTO test(nombre_fichero, contenido, ruta_fichero) VALUES
('nek&roser.jpg', 1234, 'G:\Nestor');

O a lo mejor habría que pasar un 0 en la posición correspondiente (algunas
BD lo requieren):

INSERT INTO test(id, nombre_fichero, contenido, ruta_fichero) VALUES (0,
'nek&roser.jpg', 1234, 'G:\Nestor');

Slds

"Néstor Suárez" escribió en el mensaje
news:

Este es el error que me aparece al intentar introducir la sentencia
siguiente:
"INSERT INTO test(id, nombre_fichero, contenido, ruta_fichero) VALUES (,
'nek&roser.jpg', 1234, 'G:\Nestor');INSERT INTO test(id, nombre_fichero,
contenido, ruta_fichero) VALUES (, 'nek&roser.jpg', 1234, 'G:\Nestor');"

Y este es el error:
"You have an error in your SQL syntax. Check the manual that
corresponds to your MySQL server version for the right syntax to use
near ' 'nek&roser.jpg', 1234, 'G:\Nestor')' at line 1

Si alguien me podria decir qué es lo que falla :P el campo "id" es
AUTOINCREMENT y es la clave.. y creo que no me hace falta decir nada más
sobre la BD.

Saludos desde Canarias,
Néstor Suárez.





Respuesta Responder a este mensaje
#3 Vyacheslav Popov
03/10/2004 - 20:18 | Informe spam
Hola Néstor,

El problema esta en SqlCommand
Tienes que eliminar el campo Id de la secuencia de INSERT y UPDATE

Saludos.

"Néstor Suárez" escribió en el mensaje
news:e%
He probado de las dos formas (omitiendo el campo y dándole valor 0 pero
falla). El campo no puede ser cero, por eso creo que falló el segundo
método. De todas formas, he estado observando el código que me generaba
el comando y está la siguiente linea:

mySqlInsertCommand.Parameters.Add(new CoreLab.MySql.MySqlParameter("p1",
CoreLab.MySql.MySqlType.BigInt, 0, "id"));

Supongo que por eso al omitir el campo "id" falla, ya que se esperaría
en el mySqLInsertCommand y no en la base de datos realmente.
Probaré a quitar este parámetro y a omitir el campo (ya a la desesperada).
Gracias por la ayuda! ;)

Saludos desde Canarias,
Néstor Suárez.

Octavio Hernandez escribió:

> Néstor,
>
> No utilizo MySQL, pero probablemente no deberías incluir el campo ID en


la
> lista de campos, ya que es autoinc:
>
> INSERT INTO test(nombre_fichero, contenido, ruta_fichero) VALUES
> ('nek&roser.jpg', 1234, 'G:\Nestor');
>
> O a lo mejor habría que pasar un 0 en la posición correspondiente


(algunas
> BD lo requieren):
>
> INSERT INTO test(id, nombre_fichero, contenido, ruta_fichero) VALUES (0,
> 'nek&roser.jpg', 1234, 'G:\Nestor');
>
> Slds
>
> "Néstor Suárez" escribió en el mensaje
> news:
>
>>Este es el error que me aparece al intentar introducir la sentencia
>>siguiente:
>>"INSERT INTO test(id, nombre_fichero, contenido, ruta_fichero) VALUES (,
>>'nek&roser.jpg', 1234, 'G:\Nestor');INSERT INTO test(id, nombre_fichero,
>>contenido, ruta_fichero) VALUES (, 'nek&roser.jpg', 1234, 'G:\Nestor');"
>>
>>Y este es el error:
>>"You have an error in your SQL syntax. Check the manual that
>>corresponds to your MySQL server version for the right syntax to use
>>near ' 'nek&roser.jpg', 1234, 'G:\Nestor')' at line 1
>>
>>Si alguien me podria decir qué es lo que falla :P el campo "id" es
>>AUTOINCREMENT y es la clave.. y creo que no me hace falta decir nada más
>>sobre la BD.
>>
>>Saludos desde Canarias,
>>Néstor Suárez.
>
>
>
Respuesta Responder a este mensaje
#4 A.Poblacion
03/10/2004 - 22:07 | Informe spam
Aparte de los temas que ya se han comentado, del campo id, ¿no estará el
problema en el "\N"? Prueba a poner 'G:\\Nestor' en lugar de 'G:\Nestor'.


"Néstor Suárez" wrote in message
news:
Este es el error que me aparece al intentar introducir la sentencia
siguiente:
"INSERT INTO test(id, nombre_fichero, contenido, ruta_fichero) VALUES (,
'nek&roser.jpg', 1234, 'G:\Nestor');INSERT INTO test(id, nombre_fichero,
contenido, ruta_fichero) VALUES (, 'nek&roser.jpg', 1234, 'G:\Nestor');"

Y este es el error:
"You have an error in your SQL syntax. Check the manual that
corresponds to your MySQL server version for the right syntax to use
near ' 'nek&roser.jpg', 1234, 'G:\Nestor')' at line 1

Si alguien me podria decir qué es lo que falla :P el campo "id" es
AUTOINCREMENT y es la clave.. y creo que no me hace falta decir nada más
sobre la BD.

Saludos desde Canarias,
Néstor Suárez.
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida