Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Microsoft SQL Server Copmpact Edition 3.5 mit RaveReports (https://www.delphipraxis.net/145046-microsoft-sql-server-copmpact-edition-3-5-mit-ravereports.html)

delphi-programmierer 22. Dez 2009 18:50

Datenbank: MS SQL Server CE • Version: 3.5 • Zugriff über: ADO-Komponenten

Microsoft SQL Server Copmpact Edition 3.5 mit RaveReports
 
Hallo Leute,

ich erstelle dieses Thema hier, obwohl ich es schon in delphi-forum.de gepostet habe, aber bis jetzt keine Antwort erhalten habe. Also:
Ich versuche erfolglos meine MS SQL-Server Compact Edition-Datenbank mit RaveReports "auszuwerten". Die Arbeit mit der SQL-Datenbank läuft über die ADO-Komponenten von Delphi (also TADOConnection, TADOQuery). Das Hinzufügen und Auswählen von Daten verläuft problemlos. Nur das Reporting funktioniert noch nicht.
Die Verbindung zwischen Delphi und RaveReports wird über ein Direct-DataView und den Rave-Komponenten (TRVProject, TRVSystem, TRVDatasetConnection), die wiederum mit den ADO-Komponenten verlinkt sind, realisiert.
Das Problem das dabei auftritt ist, dass die Datentypen der Datenbank (z.B. ntext oder nchar) nicht mit den Datentypen von den RaveReports-Feldern kompatibel sind. Folgende Fehlermeldung tritt auf, wenn ich Zeichenketten aus der Datenbank in RaveReports ausgeben will:
Field DataView1:Bauleiter. Datatype expected: dtMemo Datatype found: dtString
Leider fehlt die Option, im Report-Designer die Datentypen von jedem Feld auszuwählen. Wenn jemand eine Lösung wüsste, wär ich dankbar.

Mein Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
adoquery1.Close;
adoquery1.Connection:=adoconnection1;
adoquery1.SQL.Add('SELECT * FROM allgemein WHERE Nummer=:snr');
adoquery1.Parameters.ParamByName('snr').value:=3;
adoquery1.Open;
rvproject1.ExecuteReport('Report1');
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
adoconnection1.ConnectionString:='Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source="D:\Eigene Dateien\RAD Studio\bau_db.sdf"';
adoconnection1.Open('','');
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
adoconnection1.Close;
end;

mkinzler 22. Dez 2009 19:02

Re: Microsoft SQL Server Copmpact Edition 3.5 mit RaveReport
 
Möglicherweise geht das in ADO ( persistente Felder anlegen)


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:37 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