AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Warum kommt eine exception?
Thema durchsuchen
Ansicht
Themen-Optionen

Warum kommt eine exception?

Ein Thema von BBoy · begonnen am 20. Aug 2016 · letzter Beitrag vom 21. Aug 2016
Antwort Antwort
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Warum kommt eine exception?

  Alt 20. Aug 2016, 13:19
Datenbank: sql • Version: ? • Zugriff über: sqlconnection
Bin immer noch dabei an diesem Tutorial zu arbeiten: https://www.delphi-treff.de/tutorial...d-dbexpress/2/

Dieser Code:
Delphi-Quellcode:
var
FSQLCommandText: String;
FSQLDataSet: TDataSet;
try
  SQLConnection1.Connected := True;
  FSQLCommandText := 'SELECT * FROM Buecher;';
  SQLConnection1.Execute(FSQLCommandText, NIL, FSQLDataSet);
Except On E: EDatabaseError Do ShowMessage(E.Message);
end;
Führt zu einer Exception: EExternalException C06D007F
Wenn ich anhalten klicke kommt dann ein Fenster Quelldatei nicht gefunden: delayhlp.cpp

Wie kann ich das beheben?

Geändert von TBx (20. Aug 2016 um 19:00 Uhr) Grund: Code-Tags durch Delphi-Tags ersetzt
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: Warum kommt eine exception?

  Alt 20. Aug 2016, 13:25
Sieht so aus, als hätte die Datenbank mit Deinem SQL ein Problem.

Lass am Ende des Selects mal das Semikolon weg.

Das ist eigentlich ein übliches Trennzeichen für mehrere Statements, die man per Batch ... aus 'ner Datei oder 'ner Datenbankoberfläche absetzen möchte.

Bei 'nem einzelnen Statement (für ExecSQL ...) aber eher unüblich.
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#3

AW: Warum kommt eine exception?

  Alt 20. Aug 2016, 13:32
Hat leider nichts gebracht.

Muss ich vielleicht bei der sqlconnection noch etwas einstellen? TableScope oder ähnliches. die sqlite3.dll ist im Windowspfad und im Anwendungsordner.

Leider sieht man nicht wie alt das Tutorial "SQLite3 mit Delphi und dbExpress" ist. Blöd wenn man lernen will und es geht nicht
https://www.delphi-treff.de/tutorial...und-dbexpress/

Kann mir jemand ein anderes sehr einfaches Tutorial empfehlen womit ich sqllite in einfachen Schritten lernen kann ohne ein Studium machen zu müssen??

SQL Datenbank habe ich erstellt, Daten kann ich auch eintragen aber nun möchte ich die Daten abfragen und auf einer Maps Karte anzeigen.

Geändert von BBoy (20. Aug 2016 um 13:45 Uhr)
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Warum kommt eine exception?

  Alt 20. Aug 2016, 14:08
Hallo,
vielleicht muss das DataSet ja erst erzeugt werden?
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.001 Beiträge
 
Delphi 12 Athens
 
#5

AW: Warum kommt eine exception?

  Alt 20. Aug 2016, 15:21
Die Exception kommt z.B. auch dann, wenn die SQLITE3.DLL nicht zum verwendeten DBExpress-Treiber passt.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#6

AW: Warum kommt eine exception?

  Alt 20. Aug 2016, 17:03
Die Exception kommt z.B. auch dann, wenn die SQLITE3.DLL nicht zum verwendeten DBExpress-Treiber passt.
War alles bei meinem Delphi so dabei, habe nichts von außen geholt. Daher denke ich es sollte zusammen passen.

Hallo,
vielleicht muss das DataSet ja erst erzeugt werden?
Denke ich mir auch. Denn bisher weiß ja dieses Dataset nichts von den Feldern aus meiner sql Datenbank. In diesem Tutorial wird davon aber nichts erwähnt

Wie bekomme ich nun die Felder mit typ und allem aus meiner sql Datenbank in dieses TDataSet ?
Oder ist das nicht nötig?
Oder gibt es andere Möglichkeiten die Daten in meiner sql datenbank nacheinander abzufragen und auf einer Karte anzuzeigen? Das sollte doch auch mit sqlquery irgendwie funktionieren oder?


Edit://
Habe es nun so versucht:
Code:
SQLBefehl :String;
begin
  sqlconnection1.Connected := true;
  SQLBefehl:='SELECT * FROM spawnpoints;';
  try
    SQLQuery1.SQL.Text := SQLBefehl;
    SQLQuery1.Active := true;
  except
    on E: Exception do
      showmessage('Exception raised with message: ' + E.Message);
  end;
Gleiches Problem. externalexception ......

Ich habe auch mal eine kleine neue Datenbank angelegt, gleiches problem

Hier meine Parameter aus der sqlconnection:
Driver Unit: Data.DbxSqlite
Driver Package Loader: TDBXSqliteDriverLoader,DBXSqliteDriver230.bpl
MetaDataPAckageLoader: TDBXSqliteMetaDataCommandFactory,DbxSqliteDriver23 0.bpl
FailIfMissing: True
Database: c:\eigene dateien\delphi_projekte\map\test99.db


Was kann ich noch versuchen?

Geändert von BBoy (20. Aug 2016 um 17:40 Uhr)
  Mit Zitat antworten Zitat
BBoy

Registriert seit: 17. Jan 2007
418 Beiträge
 
Delphi 10 Seattle Professional
 
#7

AW: Warum kommt eine exception?

  Alt 20. Aug 2016, 18:04
Endlich.... Habe alle sqlite3.dll gelöscht die ich irgendwo gefunden habe. Dann die aktuellen 32bit heruntergeladen, nur in systemwow64 kopiert und nun funktioniert alles einwandfrei.
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.341 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Warum kommt eine exception?

  Alt 21. Aug 2016, 00:24
In das Systemverzeichnis kopieren sollte man nicht machen. Lege die besser in das Verzeichnis deiner Anwendung.

Denn was, wenn ein anderes Programm die DLL in einer anderen Version benötigt?

Wenn du später einen MSI-Installer erstellst, kümmert der sich darum (Stichwort Side-By-Side-Konfiguration), aber ohne Installer sollte man die DLLs dann in das Anwendungsverzeichnis legen.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:52 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