![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Cita:
Cita:
Cita:
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
|
|
#2
|
|||
|
|||
|
Yo hice una paso intermedio para ver como quedaba la sentencia SQL en un ShowMessage y la copie y pegue en la consola de consultas de access y funciono perfectamente, sin embargo en el programa me dice error de sintaxis SQL.
Espero alguien pueda ayudarme... ![]() |
|
#3
|
||||
|
||||
|
yo te recomendarias que uasaras un SQL.Add('...'); por cada línea de tu consulta, ya que si utilizas SQL.Add('...+...+..+...'); lo único que te dirá es que tienes un error en la línea 1. En cambio si utilizas SQL.Add(); por cada línea, te dirá exactamente en que línea tienes el error.
__________________
|
|
#4
|
|||
|
|||
|
He hecho lo que me has dicho y mas o menos como esperaba el error t dice que esta en la linea del usuarioADOQuery1.ExecSQL;
. Sigo sin saber cual es el problema...El codigo quedo asi: Código:
usuarioADOQuery1.SQL.Clear;
try
usuarioADOQuery1.SQL.Add('INSERT INTO usuarios(nombre,apellido1,apellido2,login,password,rango,oficina) VALUES (');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit1.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit2.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit3.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit4.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit5.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(intToStr((usuarioComboBox2.ItemIndex)+1));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(intToStr(oficinaux));
usuarioADOQuery1.SQL.Add(')');
usuarioADOQuery1.ExecSQL;
finally
usuarioADOQuery1.Close;
usuarioADOQuery1.SQL.Clear;
end;
![]() Última edición por Moises22 fecha: 30-12-2005 a las 10:20:08. |
|
#5
|
|||
|
|||
|
He conseguido que por lo menos funcione, pero no de la manera que yo quiero. La cosa esta en que hay un campo que es de auto incremento, si yo la insercion la hago asi:
Código:
usuarioADOQuery1.SQL.Clear;
try
usuarioADOQuery1.SQL.Add('INSERT INTO usuarios VALUES(');
usuarioADOQuery1.SQL.Add('5,');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit1.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit2.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit3.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit4.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit5.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(intToStr((usuarioComboBox2.ItemIndex)+1));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(intToStr(oficinaux));
usuarioADOQuery1.SQL.Add(')');
usuarioADOQuery1.ExecSQL;
finally
usuarioADOQuery1.Close;
usuarioADOQuery1.SQL.Clear;
Código:
usuarioADOQuery1.SQL.Clear;
try
usuarioADOQuery1.SQL.Add('INSERT INTO usuarios(nombre,apellido1,apellido2,login,password,rango,oficina) VALUES(');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit1.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit2.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit3.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit4.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit5.Text));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(intToStr((usuarioComboBox2.ItemIndex)+1));
usuarioADOQuery1.SQL.Add(',');
usuarioADOQuery1.SQL.Add(intToStr(oficinaux));
usuarioADOQuery1.SQL.Add(')');
usuarioADOQuery1.ExecSQL;
finally
usuarioADOQuery1.Close;
usuarioADOQuery1.SQL.Clear;
Por favor necesito que alguien me heche una mano ![]() |
|
#6
|
||||
|
||||
|
Hola: Un consejo para que tengas un mejor orden: Pasa todo a varibles locales, así te evitas de poner directamente los controles en tu Insert Into del objeto Query. Además si es un valor de autoincremento debes dejarselo a la propia BD que lo genere y no tomarlo tú mismo. Trata de ordenarte un poco en el código y una buena forma creo yo, es asignar los valores a variables locales.. Además ,¿ por qué usas QuotedStr ?, si son String, pasalos como String, es decir ya vienen con apostrofes (todos los tipos string). Hasta Luego
__________________
No todo es como parece ser... |
|
#7
|
||||
|
||||
|
Si vas a pasar un string, lo tienes que pasar entre comillas, o apóstrofes para el caso de SQL; por lo que el quotedstring esta correcto.
Mencionas que el error que te manda es un error de sintaxis de SQL. ¿Me podrías decir en que línea te dice que esta el error? ¿Podrías poner el mensaje exacto que te manda? Y si le pones nombre representativos a tus controles, creéme que te irá mucho mejor. Es mejor leer un código como " Nombre:=edtNombre.Text " que uno como "Nombre:=Edit1.Text" ; tal vez con 5 o 6 controles no tengas problema, pero conforme vayan aumentando creeme que vas a llegar al punto donde Edit23.Text no sabes ni cuál es, ni donde esta.
__________________
Última edición por ContraVeneno fecha: 30-12-2005 a las 16:32:58. |
|
#8
|
||||
|
||||
|
Saludos
Código:
usuarioADOQuery1.SQL.Add('INSERT INTO usuarios VALUES(');
usuarioADOQuery1.SQL.Add('5,');
INSERT INTO usuario Values(5); Código:
usuarioADOQuery1.SQL.Add('INSERT INTO usuarios
(nombre,apellido1,apellido2,login,password,rango,oficina) VALUES(');
usuarioADOQuery1.SQL.Add(QuotedStr(usuarioLabeledEdit1.Text));
INSERT INTO usuarios(nombre,apellido1,apellido2,login,password,rango,oficina) VALUES('textodellabel')
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
|