Programación General > Delphi

 Probelmas Con El Objeto Sql

<< < (2/2)

Ayla:

--- Código: Text ---Query1.Close;Query1.SQL.Text:='select * from encuesta where Folio ='+Edit1.Text;Query1.Active:=true; 
Sólo comentar que está instrucción no funcionaría.  Porque el parametro que mandamos al query es una string, deberiamos usar la instrucción QuotedStr o ponerle las comillas pertinentes. Lo correcto sería:


--- Código: Text ---Query1.Close;Query1.SQL.Text:='select * from encuesta where Folio ='+QuotedStr(Edit1.Text);Query1.Active:=true; 
Pero tanto esta manera, como esta otra, funcionan correctamente:


--- Código: Text ---Query1.Close;Query1.SQL.Text:='select * from encuesta where Folio = :Folio ';Query1.ParamByName('Folio').AsString := Edit1.Text;Query1.Active:=true; 
Un saludo.

mustang:

--- Cita de: "makio" --- Type mismatch expression, Mira este error sale cuando el query no tiene un valor para hacer la consulta por ejemplo:

Select * from encuesnta where folio='hgf
o
Select * from encuesnta where folio=

En si lo que significa la excepción es que un valor se perdio en la expresición, puede ser que el parametro no lo mandes bien, puedes hacer esto si usar parametros:

Query1.Close;
Query1.SQL.Text:='select * from encuesta where Folio ='+Edit1.Text;
Query1.Active:=true;

yo creo que con esto funcionara perfectamente pruebalo y si no sirve me avisas.

 :comp:
--- Fin de la cita ---
oigan muchisias gracias a los dos makio y ayla, sus dos maneras funcionan bien!!! les agradezco el tiempo ke les tomo escribir,
hasta pronto!!
y gracias de nuevo

mustang:
hijoles una ultima molestia!

mi codigo ha kedado de la siguiente manera:


--- Código: Text --- try   Query1.close;   Query1.SQL.Text:='select encuesta.Folio, evaluado.Area from encuesta, evaluado where evaluado.Area ='+QuotedStr(Edit1.Text)+'AND encuesta.Folio=evaluado.Folio order by Folio';   Query1.open;   co:=IntToStr(Query1.RecordCount);   Showmessage('Se encontraron' + ' ' +  co + ' ' + 'registros');   DBGrid1.Columns.SaveToFile('c:&#092;tablapaso');//**********AKI!!!!*****///  except   Showmessage('Ni maiz');  end;  
ahora lo k hago es guardar el resultado del query k me kedo en el dbgrid1 al archivo "tablapaso" pero no logro encontrar el formato en el ke me lo deja, crei ke podria ser una tabla y lo intente abrir con el database desktop y con excel y nada, saben en k formato me deja el archivo????

makio:
Como lo quieres guardar no se puede, abrelo en el bloc de notas para que veas que te dejo, una forma para guardarlo en otra tabla seria creando la tabla y moviendo el resultado del query con un BacthMove, ve el codigo es sencillo:

procedure TForm1.Button1Click(Sender: TObject);
var
 Table:TTable; //Tabla
begin
  query1.FieldDefs.Update; //los campos que tiene el query se refrescan
  Table := TTable.Create(nil); //se crea la tabla
  Table.TableName := 'C:\TablaPaso';
  {La ruta donde la deseas guardar esto lo puedes hacer con un savedialog          con  ruta ya espeficada}
  Table.TableType := ttParadox   ; //tipode tabla en la ayuda puedes ver los tipos
  Table.FieldDefs.Assign(query1.FieldDefs);
  {se le asignan los campos del query a la tabla}
  Table.CreateTable ;
  //se crea la tabla con contenido
  //esto es para mover los registros del query a la nueva tabla
  batchmove1.Destination:=Table;
  batchmove1.Source:=Query1;
  batchmove1.Execute;
end;

esa es una forma otra seria exportandolo a Excel para eso necesitas un componente que se llama scExcelExport1 el codigo para ese componente seria asi:

procedure TForm1.Button1Click(Sender: TObject);
begin
 if savedialog1.Execute then
 begin
  scExcelExport1.ExportDataset;
  scExcelExport1.SaveAs(savedialog1.FileName,ffXLS);
  scExcelExport1.Disconnect;
 end;
end;

solamente tienes que poner en la propiedad Dataset el query que quieras exportar.

Espero que te sirva de ayuda...
el componente lo encuentras en la inter buscalo...

mustang:
oye la primera forma k me dijiste jala a la prefexion, muchisimas muchisimas muchisimas gracias por la ayuda, espero no molestar tanto, hasta pronto, nos veremos, ke tengan suertecita

gracias :comp:     :D

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa