Delphi - insertar datos

 
Vista:

insertar datos

Publicado por erick (23 intervenciones) el 03/04/2006 02:03:34
Ayuda!!

Alguien me podria mandar el el codigo para insertar en datos en la bd es ke tengo un error si corre el programa pero me manda el siguiente error "Objeto parameter mal definido se proporciono informacion incompleta o incoherente".

fecha.text:=datetimetostr(now);
ejemplo.insertar.close;
ejemplo.insertar.sql.Clear;
ejemplo.insertar.SQL.add('select * from clientes');
ejemplo.insertar.SQL.add('insert into (id_cliente,nombre,apellido_paterno,apellido_materno,domicilio,codigo_postal,telefono,
fecha_ingreso)values('+ id.text +','+ nom.text +','+ ap.text +','+ am.text +','+ dom.text +',
'+ cp.text +','+ tel.text +','+ fecha.text +')');
ejemplo.insertar.Active:=true;
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:insertar datos

Publicado por skull leader (284 intervenciones) el 03/04/2006 16:19:01
antes que nada, entendamos que un insert y un select son completamente diferentes.

si lo que quieres es insertar, quita esta linea:
ejemplo.insertar.SQL.add('select * from clientes');

te quedara asi:
fecha.text:=datetimetostr(now);
ejemplo.insertar.close;
ejemplo.insertar.sql.Clear;
ejemplo.insertar.SQL.add('insert into (id_cliente,nombre,apellido_paterno,apellido_materno,domicilio,codigo_postal,telefono,
fecha_ingreso)values('+ id.text +','+ nom.text +','+ ap.text +','+ am.text +','+ dom.text +',
'+ cp.text +','+ tel.text +','+ fecha.text +')');

pero ahi hay otro error... y es el siguiente:
ejemplo.insertar.Active:=true;

la propiedad Active solo se usa para los Select, lo que tienes que hacer, es ExecSQL

quedaria asi:
fecha.text:=datetimetostr(now);
ejemplo.insertar.close;
ejemplo.insertar.sql.Clear;
ejemplo.insertar.SQL.add('insert into (id_cliente,nombre,apellido_paterno,apellido_materno,domicilio,codigo_postal,telefono,
fecha_ingreso)values('+ id.text +','+ nom.text +','+ ap.text +','+ am.text +','+ dom.text +',
'+ cp.text +','+ tel.text +','+ fecha.text +')');
ejemplo.insertar.excecsql;

pero probablemente te pueda dar problemas de esa manera... utiliza parametros, es mas comodo

algo asi:
ejemplo.insertar.SQL.add('insert into (id_cliente,nombre,apellido_paterno,apellido_materno,domicilio,codigo_postal,telefono,
fecha_ingreso)values(:id, :nom, :ap, :am, :dom, :cp, :tel, :fecha)');

y llenas de la siguiente manera:

ejemplo.insertar.parambyname('nom').asstring := nom.text;
donde ves que es "AsString" puedes cambiarlo por AsInteger, o segun sea, el tipo de datos que necesites.

no es tan dificil.
espero haberme dado a entender
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:insertar datos

Publicado por erick (23 intervenciones) el 03/04/2006 20:38:50
El codigo ke me enviaste me marca un error me dice ke no esta declarado el indentificador del parambyname
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error

Publicado por erick (23 intervenciones) el 03/04/2006 20:40:07
El codigo ke me enviaste me marca un error me dice ke no esta declarado el indentificador del parambyname
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Error

Publicado por skull leader (284 intervenciones) el 04/04/2006 15:53:56
no esta declarado?

no recuerdo si la sintaxis es asi, no tengo delphi instalado aqui en mi trabajo, pero si quieres mandame un email para cuando resolverlo

o puedes intentar .Params[indice_del_parametro].AsString o segun necesites.

para checar los parametros, en el inspector de objetos, busca la propiedad Params de tu Query.

espero te sea de mas ayuda esta vez
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar