PDA

Ver la Versión Completa : invalid use of keyword token:=


gonza_619
25-09-2010, 15:53:03
hola q tal foro miren , bueno tengo un error caundo se ejecuta esta consulta


with Query1 do
begin
Close;
SQL.Text:= 'SELECT * FROM alucurso'+
'WHERE alumno = '+QuotedStr(dbedit6.Text)+
'AND curso = '+inttostr(x)+
'AND plan = '+inttostr(p)+
'and fecha = '+quotedstr (dbedit5.Text);
Open;
if not IsEmpty then
begin
MessageDlg('Datos EXISTENTE',mtError,[mbOk],0);
// NomE.SetFocus;
end;
end;

bien esto lo hice para saber si se repiten datos en una tabla antes de guardarlos, bien el error q me tira es "INVALID USE OOF KEYWORD TOKEN:=",
los campos estan bien sos esos y las variables tambien al igual q los dbedit

Caral
25-09-2010, 16:05:35
Hola

with Query1 do
begin
Close;
SQL.Text:= 'SELECT * FROM alucurso '+
' WHERE alumno = '+QuotedStr(dbedit6.Text)+
' AND curso = '+inttostr(x)+
' AND plan = '+inttostr(p)+
' AND fecha = '+quotedstr (dbedit5.Text);
Open;
if not IsEmpty then
begin
MessageDlg('Datos EXISTENTE',mtError,[mbOk],0);
// NomE.SetFocus;
end;
end;
Saludos

gonza_619
25-09-2010, 17:09:26
bien estuve probando de a un campo no tuve problemas con, curso,alumno y plan, pero si con fechas,

SQL.Text:= 'SELECT * FROM alucurso WHERE fecha_insc='+quotedstr(dbedit5.Text);

lo mismo hice con alumno ya que es un string

SQL.Text:= 'SELECT * FROM alucurso WHERE alumno='+quotedstr(dbedit6.Text);

este ultimo me da bien, pero con fehca me da error "TYPE MISMATCH IN EXPRESSION .'. " , no se si es por la fecha que es tipo date. gracias de antemano

Caral
25-09-2010, 17:40:16
Hola

SQL.Text:= 'SELECT * FROM alucurso WHERE fecha_insc = '+DateToStr(dbedit5.Text);
Saludos

gonza_619
25-09-2010, 21:09:44
bien alparecer probe consultando poniendo una fecha, pero lo puse primero con
el mes/dia/año y funciono, poniendo la fecha directamente, pero sino si lo coloco en un edit.text no lo toma parece, me dice type mismatch in expression, yo necesito que me lo tome desde el edit.text, y no sabria como hacerlo, nose si habri aq cambiar a mes-dia-año, el ultimo ejempo q me diste me tiro el mismo error

luego probe colocando direct la fecha


query1.SQL.Clear;
query1.SQL.Add('select * from alucurso where fecha_insc = '+ '''09/20/2010''');
query1.Open;

grcias

me fije que se puede pasar a parametro ocn datetime picker pero nos e como hacerlo

query1.SQL.Clear;
query1.SQL.Add('select * from alucurso where fecha_insc = fecha');
query1.parambyname('fecha').asdate:=datetimepicker.date;
query1.Open;

el prblema es que yo ingreso la fecha en el edit.text, como seria entonces
la verdad que nose si estara bien pero podria ser la solucion?

Caral
26-09-2010, 00:27:23
Hola
No entiendo.
Funciono?, no funciono?, que te falta?.
No se...
Saludos

gonza_619
26-09-2010, 00:30:09
bien ya funciono lo hice completo, me convenia usar un datetimepicker


with Query1 do
begin
Close;
SQL.Text:= 'SELECT * FROM alucurso WHERE curso ='+inttostr(x)+'and alumno ='+quotedstr(dbedit6.Text)+'and fecha_insc =:fecha';
query1.ParamByName('Fecha').AsDate:=DatetimePicker1.date;
Open;
if not IsEmpty then
begin
MessageDlg('Datos EXISTENTES, debe ingresar otros datos',mtError,[mbOk],0);
// NomE.SetFocus;
end
else
begin
showmessage('los datos son validos, puede realizar la inscripcion');
button4.Visible:=true;
end;
end;

gracais como siempre por la ayuda

Caral
26-09-2010, 00:37:18
Hola
Lo bueno de delphi es que se pueden hacer las cosas de muchas maneras.
Me queda la duda: La fecha la sacas del datetimepicker, es la fecha actual?.
Me quedo esa duda por que segun entendia la fecha la sacabas de la tabla y podia no ser la actual.
Saludos

gonza_619
26-09-2010, 00:39:44
no lo que qeria hacer es que al seleccionar alumno,curso y la fecha no se repitieran por eso hice com oun control para que no ingrese datos repetidos, la fecha la selecciona el usuario , no la saca de la tabla , grax de nuevo caral