- Delphiartiklar, tips, forum, länksamling - 

      

START | DELPHI | LÄNKARGÄSTBOK 




 Forum

Grundkurs
  »Introduktion
  »Snabbguide
  »Komponenter
  »Händelser
  »Strängar
  »Räkna med Delphi   »Egna typer
  »Selektion
  »Iteration
  »Menyer
  »Funktioner
  »Arraystrukturer

Tips & Tricks
  »Nya tips
  »Blandat
  »Databaser
  »Filer
  »Forms
  »Grafik
  »Internet
  »Komponenter
  »Matematik
  »Multimedia
  »Objekt/ActiveX
  »Skrivare
  »Strängar
  »System
  »Mest lästa tips

Artiklar
  »Delphi och ADO
  »Bygga en DLL
  »Skapa en enkel rapport
  »Hantera registret
  »Enheter, units
  »Klassen TCanvas
  »Använd LookUp Controls

 Nya tips
 Lägg till tips
 Delphilänkar
 Gästbok

 

Exekvera en fråga i MS Access Kategori: Databaser
Inlagt: 2006-07-01
Läst: 1371
Inlagt av: Staffan Berg
Beskrivning
Detta exempel beskriver hur du kan exekvera en lagrad query i Access (.mdb-fil) och köra den från Delphi.
Kod
var 
 access, db, td, queryDef, curField, Value: Variant; 
 str: string ; 
 i: Integer; 
begin 
 //load a DAO in memory  
 access := CreateOleObject('DAO.DBEngine.36'); 
 
 //open a database 
 db := access.OpenDatabase(yourMDBFileName); 
 
 //find the query by name 
 queryDef := NULL; 
 td := db.QueryDefs; 
 for i := 0 to td.Count-1 do 
  if (td.Item[i].Name = TableName) then 
  begin 
   queryDef := td.Item[i]; 
   td := UnAssigned; 
   break 
  end; 
 
 if not VarIsNull(queryDef) and not VarIsEmpty(queryDef) then 
 begin 
  recordset := queryDef.OpenRecordset; 
 
  //navigate thru records in query 
  while not recordset.Eof do 
  begin 
   for i := 0 to recordset.Fields.Count-1 do 
   begin 
    curField := recordset.Fields.Item[i]; 
    str := curField.Name; // field name 
    Value := curField.Value; // field value 
 
    //do something with value 
   end; 
 
   recordset.MoveNext; 
  end; 
 
  //close recordset instance 
  recordset.Close; 
  recordset := NULL; 
 end; 
 
 //close database and DAO 
 db.Close; 
 db := NULL; 
 access := UnAssigned; 
end; 
 

 
 
© Copyright 2005 - Staffan Berg
- Alla rättigheter förbehålles -