AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Hilfe bei sqlite und Zeos Komponente gesucht
Thema durchsuchen
Ansicht
Themen-Optionen

Hilfe bei sqlite und Zeos Komponente gesucht

Ein Thema von Shubit · begonnen am 18. Mai 2010 · letzter Beitrag vom 26. Mai 2010
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
Shubit

Registriert seit: 17. Mai 2009
64 Beiträge
 
#11

Re: Hilfe bei sqlite und Zeos Komponente gesucht

  Alt 19. Mai 2010, 10:20
Damit nicht jeder immer andere Variablennamen verwendet geb ich mal einen Anfang vor.

Delphi-Quellcode:
  gCon := TZConnection.Create(nil);
  Q := TZQuery.Create(nil);

  with gCon do
  begin
    Protocol := 'sqlite-3';
    Database := 'asdf.db';
    Connect;
  end;

  Q.Connection := gCon;
Dabei sind
Delphi-Quellcode:
    gCon: TZConnection;
    Q: TZQuery;
private Variablen einer der Klasse in der das ganze geschehen soll.
Die Klasse soll dann später für das Handle einer "Vokabeldatenbank" zuständig sein, sodass ich beim interface nicht mehr mit sqlite beschäftigen muss.

1. private
Delphi-Quellcode:
function TableExists(mTable: String): Boolean;
begin
Q.SQL.Add('SHOW TABLE STATUS LIKE `'+mTable+'`');
Q.ExecSQL;
end;
Wo steht der Rückgabewert und lese ich diesen aus (ins result)

2. gleiches Problem wie bei 1. nur das ich diesmal die Zeilen einer Tablle zählen würde
Q.SQL.Add('SELECT count(*) from `'+mTable+'`');
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#12

Re: Hilfe bei sqlite und Zeos Komponente gesucht

  Alt 19. Mai 2010, 10:35
Delphi-Quellcode:
function TableExists(mTable: String): Boolean;
begin
  Q.SQL.Add('SHOW TABLE STATUS LIKE `'+mTable+'`');
  Q.Open;
  //wenn ein Ergebnis kommt, steht es nun auf dem ersten Datensatz, ansonsten ist EOF true
  while not Q.EOF do
    begin
      //soll den Wert des ersten Feldes des aktuellen Datensatzes ausgeben
      ShowMessage(Q.Fields[0].AsString);
      //nächster Datensatz
      Q.Next;
    end;
  Q.Close;
end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#13

Re: Hilfe bei sqlite und Zeos Komponente gesucht

  Alt 19. Mai 2010, 11:11
Wenn schon add, dann vorher löschen aber besser
Q.SQL.Text := 'SHOW TABLE STATUS LIKE `'+mTable+'`'; Zudem würde sich die Verwendung von (SQL-)Parametern anbieten.

BTW.: Ohne Grundlagenwissen (Tutorials) ist die ganze Chose ein Himmelfahrtskommando!
Markus Kinzler
  Mit Zitat antworten Zitat
Shubit

Registriert seit: 17. Mai 2009
64 Beiträge
 
#14

Re: Hilfe bei sqlite und Zeos Komponente gesucht

  Alt 19. Mai 2010, 11:47
Delphi-Quellcode:
procedure TVocabularyBook.TableExists(mTable: String);
begin
  Q.SQL.Text := 'SHOW TABLE STATUS LIKE `'+mTable+'`;';
  Q.Open;
  //wenn ein Ergebnis kommt, steht es nun auf dem ersten Datensatz, ansonsten ist EOF true
  while not Q.EOF do
    begin
      //soll den Wert des ersten Feldes des aktuellen Datensatzes ausgeben
      ShowMessage(Q.Fields[0].AsString);
      //nächster Datensatz
      Q.Next;
    end;
  Q.Close;
end;
Jetzt meckert er beim Q.Open aber das er ZDbcSqLiteUtils.pas nicht findet. Ich hab auch schon nachgeschaut, ich hab zwar eine ZDbcSqLiteUtils.dcu aber keine ZDbcSqLiteUtils.pas
Ich benutze übrigens Delphi 2010 mit zeos 7.0.0 alpha.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#15

Re: Hilfe bei sqlite und Zeos Komponente gesucht

  Alt 19. Mai 2010, 11:59
Die DCU wird dann von einer anderen Delphiversion stammen
Markus Kinzler
  Mit Zitat antworten Zitat
Shubit

Registriert seit: 17. Mai 2009
64 Beiträge
 
#16

Re: Hilfe bei sqlite und Zeos Komponente gesucht

  Alt 19. Mai 2010, 13:08
nein die hab ich selbst kompiliert ...
  Mit Zitat antworten Zitat
pmoegenb

Registriert seit: 24. Aug 2006
Ort: Aidlingen
155 Beiträge
 
Delphi XE6 Professional
 
#17

Re: Hilfe bei sqlite und Zeos Komponente gesucht

  Alt 19. Mai 2010, 13:23
Zitat von Shubit:
Jetzt meckert er beim Q.Open aber das er ZDbcSqLiteUtils.pas nicht findet. Ich hab auch schon nachgeschaut, ich hab zwar eine ZDbcSqLiteUtils.dcu aber keine ZDbcSqLiteUtils.pas
Ich benutze übrigens Delphi 2010 mit zeos 7.0.0 alpha.
Die Datei müsste sich im Unterverzeichnis src\dbc befinden.
Peter Mögenburg
Gruß

Peter
  Mit Zitat antworten Zitat
Shubit

Registriert seit: 17. Mai 2009
64 Beiträge
 
#18

Re: Hilfe bei sqlite und Zeos Komponente gesucht

  Alt 19. Mai 2010, 13:40
danke, behoben

Jetzt kommt der Fehler "SQL Error: SQL logic error missing database"
  Mit Zitat antworten Zitat
Shubit

Registriert seit: 17. Mai 2009
64 Beiträge
 
#19

Re: Hilfe bei sqlite und Zeos Komponente gesucht

  Alt 20. Mai 2010, 13:56
was mach ich nun?
  Mit Zitat antworten Zitat
Shubit

Registriert seit: 17. Mai 2009
64 Beiträge
 
#20

Re: Hilfe bei sqlite und Zeos Komponente gesucht

  Alt 21. Mai 2010, 00:07
Delphi-Quellcode:
  Q.SQL.Text := 'SELECT count(*) FROM sqlite_master WHERE name="main";';
  Q.Open;
  if Q.Fields[0].AsInteger > 0 then
  begin
    Q.Close;
    Q.SQL.Text := 'SELECT v_build FROM main;';
    Q.Open;
    if not Q.EOF then
      b := vBuild > Q.FieldByName('v_build').AsInteger
    else
      b := true;

    if b then
      UpdateSQL()
  end
  else
  begin
    Q.Close;
    Q.SQL.LoadFromFile('C:\Users\Marvin\Desktop\structure.sql');
    Q.Open;
  end;
Das zweite Q.Open (Zeile 7) verursacht ebenfalls den Fehler "SQL Error: SQL logic error missing database". Woran liegt das?
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:56 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz