ich bin das erste mal hier im Forum. Habe vor ca. 1 Jahr mit Pascal angefangen,weil ich ein Programm, was in Freepascal gechrieben wude, erweitern wollte ->und habe.
Habe Pascal durch Analyse des Programms "erlernt". so besteht mein Wissen aus einem Flickenteppich, bin also in Sachen Pascal ein 'Halbgebildeter'.
Ich will in obiges Programm eine Datenbank einbinden, deren Struktur (Tabellenname, Spaltennamen) durch ein anderes Programm vorgegeben sind und nicht geändert werden können. Diese Datenbank hat die Endung *.mdb. Sie lässt sich per "MDB-Viewer"-Programm auch betrachten, so das mir Tabellenname + Spaltennamen bekannt sind. In dem anderen Programm ist eine sqlite3.dll vorhanden, so das ich annehme, das dieses Protokoll verwendet wird.
Ich verwende Laz. 1.0.6 und Zeos 7... Gemäß der Anleitung "Erste Schritte mit Zeos.." habe ich mir ein Formular erstellt, um mir Records aus einer Spalte anzuschauen.
Wenn ich die Query aktiv setze, bekomme ich einen "SQL Error: file is encryptedor not a database".
Was habe ich falsch /fehlend parametriert ? Quelltexte der .lfm und .pas hängen dran.
LFM-Datei
Code: Alles auswählen
object Form1: TForm1
Left = 491
Height = 429
Top = 196
Width = 626
Caption = 'Form1'
ClientHeight = 429
ClientWidth = 626
LCLVersion = '1.0.6.0'
object DBGrid1: TDBGrid
Left = 43
Height = 306
Top = 113
Width = 562
Color = clWindow
Columns = <>
DataSource = Datasource1
ReadOnly = True
TabOrder = 0
end
object ZConnection1: TZConnection
ControlsCodePage = cCP_UTF8
AutoEncodeStrings = False
Properties.Strings = ( 'AutoEncodeStrings=' )
Connected = True
AfterConnect = ZConnection1AfterConnect
HostName = 'localhost'
Port = 0
Database = 'C:\VCO\JT65\InArbeit\HRD_Test\Table1.mdb'
User = 'matthias'
Protocol = 'sqlite-3'
LibraryLocation = 'C:\VCO\JT65\InArbeit\HRD_Test\sqlite3.dll'
left = 45
top = 27
end
object ZQuery1: TZQuery
Connection = ZConnection1
ReadOnly = True
SQL.Strings = ( 'SELECT col_call FROM table_hrd_contacts_v01' )
Params = <>
MasterSource = Datasource1
left = 123
top = 31
end
object Datasource1: TDatasource
DataSet = ZQuery1
left = 190
top = 36
end
end
pas - datei
Code: Alles auswählen
unit zeo;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, db, FileUtil, Forms, Controls, Graphics, Dialogs, DBGrids,
ZConnection, ZDataset;
type
{ TForm1 }
TForm1 = class(TForm)
Datasource1: TDatasource;
DBGrid1: TDBGrid;
ZConnection1: TZConnection;
ZQuery1: TZQuery;
procedure Datasource1DataChange(Sender: TObject; Field: TField);
procedure ZConnection1AfterConnect(Sender: TObject);
private
{ private declarations }
public
{ public declarations }
end;
var
implementation
{ TForm1 }
{$R *.lfm}
procedure TForm1.ZConnection1AfterConnect(Sender: TObject);
begin
end;
procedure TForm1.Datasource1DataChange(Sender: TObject; Field: TField);
begin
end;
end.
entsprechende Hilfe wäre ich dankbar.
Gruß efvhu