Programación General > Delphi
Probelmas Con El Objeto Sql
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:\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
[*] Página Anterior
Ir a la versión completa