Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Ayuda con Sentencia (https://www.clubdelphi.com/foros/showthread.php?t=83677)

a7c4l 13-07-2013 22:21:26

Ayuda con Sentencia
 
Buenas tardes, estoy ejecutando el siguiente codigo:

Código Delphi [-]
Sentencia := 'Insert Into "' + RutaSis + 'PresData.DBF" ('+
                     'Nombre, Alta, Domicilio, Colonia, Poblacion, Telefono, Celular, Observa, Cumpleaños, Clase, Grupo, GestPrest, Usuario)'+
                     ' Values ("'+Nombre.Text+'", "'+Alta.Text+'", "'+Domicilio.Text+'", "'+Colonia.Text+'", "'+Poblacion.Text+'", "'+Telefono.Text+'", "'+
                     TelefonoMovil.Text+'", "'+Motivos.Text+'", "'+Cad5+'", "'+Cad+'", "'+Cad2+'", "'+Cad3+'", "'+Cad4+'")'
        F_Utiles.SQLX.Close;
        F_Utiles.SQLX.SQL.Clear;
        F_Utiles.SQLX.SQL.Add(Sentencia);
        F_Utiles.SQLX.ExecSQL;

Y mi problema es con el campo Alta (marcado en rojo) el cual en la tabla es un campo Date, el valor se encuentra en un TDateEdit (de los componentes RX) y me marca error de tipos, como puedo hacer para que me acepte el Insert?. Si quíto el dato de Alta de la sentencia funciona perfectamente. Gracias

Casimiro Noteví 13-07-2013 22:27:56

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

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



Y no olvides poner títulos descriptivos a tus preguntas,

Gracias :)

a7c4l 13-07-2013 22:30:04

Ok, gracias por el dato, con la urgencia de conseguir ayuda no me tome el tiempo de leer :( corregimos. Saludos.

Casimiro Noteví 13-07-2013 22:33:16

Gracias, has sido rápido :)

Creo que no mencionas la base de datos que usas ni los componentes, de todas formas, puede que con StrToDate funcione.
Código Delphi [-]
StrToDate(Alta.Text)

Casimiro Noteví 13-07-2013 22:44:55

De todas formas, procura siempre usar parámetros, es más cómodo, claro y funcional.
Algo similar a esto:
Código Delphi [-]
with query do
begin
  close;
  sql.text = 'insert campo1, campo2, campo3 values (:valor1, :valor2, :valor3)';
  parambyname('valor1').asString := edText1.Text;
  parambyname('valor2').asDatetime := edFecha.Date;
  parambyname('valor3').value := edOtro.Text;
  ExecSql;
end;

a7c4l 13-07-2013 22:50:04

Cita:

Empezado por Casimiro Notevi (Mensaje 463866)
De todas formas, procura siempre usar parámetros, es más cómodo, claro y funcional.
Algo similar a esto:
Código Delphi [-]
with query do
begin
  close;
  sql.text = 'insert campo1, campo2, campo3 values (:valor1, :valor2, :valor3)';
  parambyname('valor1').asString := edText1.Text;
  parambyname('valor2').asDatetime := edFecha.Date;
  parambyname('valor3').value := edOtro.Text;
  ExecSql;
end;

Ok me agrada deja intentar gracias por el dato

a7c4l 13-07-2013 23:14:25

Cita:

Empezado por Casimiro Notevi (Mensaje 463866)
De todas formas, procura siempre usar parámetros, es más cómodo, claro y funcional.
Algo similar a esto:
Código Delphi [-]
with query do
begin
  close;
  sql.text = 'insert campo1, campo2, campo3 values (:valor1, :valor2, :valor3)';
  parambyname('valor1').asString := edText1.Text;
  parambyname('valor2').asDatetime := edFecha.Date;
  parambyname('valor3').value := edOtro.Text;
  ExecSql;
end;

Excelente!!, funcionó a la perfección, gracias por tu ayuda. :D ^\||/


La franja horaria es GMT +2. Ahora son las 19:35:50.

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