AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird Datenbank - Verbindungsaufnahme
Thema durchsuchen
Ansicht
Themen-Optionen

Firebird Datenbank - Verbindungsaufnahme

Ein Thema von toyoman · begonnen am 27. Mär 2006 · letzter Beitrag vom 27. Mär 2006
 
micha453

Registriert seit: 12. Mär 2006
Ort: Hundhaupten
4 Beiträge
 
#4

Re: Firebird Datenbank - Verbindungsaufnahme

  Alt 27. Mär 2006, 10:37
Hallo toyoman,

Firebird sprichst Du über die ADO-Komponenten an, dass ist erstmal richtig. Aufpassen musst Du, wenn Dein Programm zu "früh" gestartet wird. Firebird muss erst gestartet sein. Ich hatte anfangs auch Probleme. Verschiedene Sachen sind in Firebird auf den ersten Blick unlogisch oder fremd. So musst Du aufpassen, wie Du Gleitkommazahlen übergibst. Diese müssen an Stelle des Kommas einen Punkt haben (Englische Schreibweise!). Bei Strings muss die Länge mit der Datenfeldlänge passen. Das SQL ist auch zum Teil etwas anders als auf dem Windows SQL Server. Problematisch sind meistens UPDATE's. Deinen Fehler "Variante des Typs (Null) konnte nicht in Typ (String) konvertiert werden" deute ich als Datentyp-Konvertierungsfehler. Leider hatte ich diese Meldung noch nicht, um Dir helfen zu können. Wenn Du eine Abfrage ausführst musst Du beachten, dass das Query zu Beginn geschlossen ist, sonst gibt es einen Fehler. Manchmal "holst" Du Dein Abfrageergebnis mit OPEN und manchmal mit EXCESSQL. Das hängt vom SQL-Befehl ab.
Ich mach es so:

Ein Delete:

befehl := 'Delete from tblImport where OBJNR = 99999';
dmDisplay.qryBefehl.close;
dmDisplay.qryBefehl.Sql.clear;
dmDisplay.qryBefehl.SQL.Add(befehl);
dmDisplay.qryBefehl.ExecSQL;
dmDisplay.qryBefehl.Close;

Ein Select:

befehl := 'Select distinct belnr from tblImport';
dmDisplay.qryBefehl.close;
dmDisplay.qryBefehl.Sql.clear;
dmDisplay.qryBefehl.SQL.Add(befehl);
dmDisplay.qryBefehl.Open;
While not dmDisplay.qryBefehl.Eof do begin
anzlfs := anzlfs + 1;
dmDisplay.qryBefehl.Next;
end;
dmDisplay.qryBefehl.Close;

(dmDisplay ist ein Datenmodul, wo alle Datenbankzugriffskomponenten zentral liegen, um von allen Programm-Units zugreifen zu können. qryBefehl ist ein ADO-Query)

Ich hoffe, Dir hilft es. Die ADO-Komponenten sind in jedem Falle richtig.

Micha
  Mit Zitat antworten Zitat
 


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 06:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz