Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   insertar sqlquery (https://www.clubdelphi.com/foros/showthread.php?t=79473)

ttotto 09-07-2012 18:51:53

insertar sqlquery
 
hola a todos :

soy nuevo en esto de delphi con mysql

quiza sea algo tonto lo que pregunto

tengo un forma donde me conecto con sql connection e intento insertar un dato
con sqlquery
mi coneccion esta bien
mi codigo es este
sqlquery1.close;
sqlquery1.SQL.clear:
sqlquery1.SQL.add('insert into nomina(id,nombre) values(:4, :contabilidad)');
sqlquery1.ExecSQL;

me manda este error

dbexpress driver does not support the TDBXType.UNKNOWN
data type. vendor eoor message

alguien me puede ayudar

Casimiro Notevi 09-07-2012 19:11:55

Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración :)

Recuerda poner los tags al código fuente, ejemplo:



Gracias :)


En relación a tu consulta, sobran los dos puntos, eso se usa para pasarle parámetros, que parece que no es tu caso:

Casimiro Notevi 09-07-2012 19:15:17

Código Delphi [-]
sqlquery1.close;
sqlquery1.SQL.Text := 'insert into nomina(id,nombre) values(:id, :nombre)';
sqlquery1.parambyname('id').asinteger := 4;
sqlquery1.parambyname('nombre').asstring := 'Contabilidad';
sqlquery1.ExecSQL;

Lo que estás haciendo es si vas a pasarle ya los valores, sin parámetros, ejemplo:

Código Delphi [-]
 sqlquery1.SQL.Text := 'insert into nomina(id,nombre) values( 5, '+quotedstr('Contabilidad')+')';

ttotto 09-07-2012 20:00:05



hola Casimiro:

Te agrdesco tu ayuda

ya introduje el codigo que me muestras y ahora me manda otro error , perdon mi ignorancia

este es el error

SQLQuery1:parameter 'id' not found

Casimiro Notevi 09-07-2012 20:09:09

Copia y pega el código que estás usando, y recuerda lo que te he comentado antes, de usar los 'tags' para el código ;)

ttotto 09-07-2012 21:20:28

Hola Casimiro :

no entiendo lo de los tags a pegar

y respecto a el codigo ya lo pegue el primero tal como esta y me manda el error referido

Casimiro Notevi 09-07-2012 21:45:34

Cita:

Empezado por ttotto (Mensaje 437010)
Hola Casimiro :
no entiendo lo de los tags a pegar
y respecto a el codigo ya lo pegue el primero tal como esta y me manda el error referido

¿Pero entonces no lo has modificado? :confused:



Los tags es esto :)


ttotto 09-07-2012 23:56:17

Código Delphi [-]
Hola Casimiro:

creo que esto es lo que me pidesestos tags

ttotto 10-07-2012 00:09:06

Hola Casimiro:

mira ya copie exactamente el primer codigo que pusiste y corri mi aplicacion

y el error que manda es que no existe la variable 'id'

por en la primera linea veo que me pones

insert into nomina (id, nombre) values (:id, :nombre);

por lo poco que comprendo deberia ir despues de values los valores fijod que qioero poner

y despues en la siguientes 2 lineas donde esta sqlquery.parabyname('id') debo poner el valor real que quiero poner es asi

ttotto 10-07-2012 00:12:24

Hola Casimiro:

estube revizando y encontre algunos errores de escritura
ahora me manda este otro error

column count doesn't match value count at row 1

ecfisa 10-07-2012 00:34:21

Hola ttotto.

Si los nombres de tabla y campos son correctos (NOMINA, ID y NOMBRE), de este modo tiene que funcionar:
Código Delphi [-]
  with SQLQuery1 do
  begin
    SQL.Text:= 'INSERT INTO NOMINA(ID, NOMBRE) VALUES(:PID, :PNOMBRE)';
    Params.ParamByName('PID').AsInteger:= 4;
    Params.ParamByName('PNOMBRE').AsString:= 'Un_Nombre';
    ExecSQL;
  end;

Saludos.

ttotto 10-07-2012 15:03:44

Hola Buenos dias :

gracias Casimiro y Eficsa:

Por la tarde estuve revisando paso a paso todo el codigo y ya pude insertar

esto lo hago con datos fijos ahora lo intentare con 2 edit y pasando el valor

a mis variables , gracias por su paciencia


La franja horaria es GMT +2. Ahora son las 17:46:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi