Registriert seit: 18. Aug 2006
89 Beiträge
|
zeos stringgrid anzeige
31. Aug 2006, 09:56
Datenbank: mysql • Version: 5.x • Zugriff über: zconnection
hi
Da ich ohne Zeos wohl nicht auskommen werde, versuch ich nun meine Daten ueber Zeos anzeigen zu lassen.
Hab ein Testprojekt angelegt mit folgendem Code, bei dem ich eine "Zugrifssverletzung" an irgendeiner Adresse bekomme. Wo ist der Fehler ? Mach ich grundlegend was falsch ?
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGrids, DB, ZAbstractRODataset, ZAbstractDataset, ZDataset,
ZConnection,comctrls, StdCtrls;
type
TForm1 = class(TForm)
sqlconnection : TZConnection;
SQLQuery : TZQuery;
DataSource1: TDataSource;
Grid: TStringGrid;
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure filllist();
private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var SQLText : String;
begin
sqlconnection.HostName:=' asdf'; //Server
sqlconnection.User:=' ghjk'; //Benutzername
sqlconnection.Password:=' qwer'; //Passwort
sqlconnection.Database:=' test'; //Name der Datenbank
sqlconnection.Connect; //Verbindung herstellen
if sqlconnection.Connected then
label1.Caption := ' connected';
sqlquery.Free;
// set SQLText for query
SQLText := ' SELECT r.RechnerID, r.Inventar_Nr, r.NetzwerkName, a.Benutzer_alt, a.Benutzer, a.Raum, r.Bemerkungen, r.StatusID, s.Bezeichnung, r.DockingstationID, a.MonitorID, a.Monitor2ID, r.Kaufdatum, r.InventarDatum';
SQLText := SQLText +' FROM Rechner AS r JOIN Arbeitsplatz AS a ';
SQLText := SQLText +' JOIN Status AS s ';
SQLText := SQLText +' ON s.StatusID = r.StatusID ';
SQLText := SQLText +' ON a.RechnerID = r.RechnerID ';
sqlquery.SQL.Text := sqltext;
sqlquery.Open;
filllist;
end;
Hier das vergebliche Anzeigen der Daten:
Delphi-Quellcode:
procedure tform1.filllist();
begin
Grid.RowCount := 2;
Grid.FixedRows := 1;
while not sqlquery.Eof do begin
while NOT SQLQuery.EOF do begin
Grid.RowCount := Grid.RowCount + 1;
Grid.Cells[0,Grid.RowCount-2] := SQLQuery.FieldByName('Inventar_Nr').AsString;
Grid.Cells[1,Grid.RowCount-2] := SQLQuery.FieldByName('NetzwerkName').AsString;
Grid.Cells[2,Grid.RowCount-2] := SQLQuery.FieldByName('Benutzer').AsString;
Grid.Cells[3,Grid.RowCount-2] := SQLQuery.FieldByName('Benutzer_alt').AsString;
Grid.Cells[4,Grid.RowCount-2] := SQLQuery.FieldByName('Raum').AsString;
Grid.Cells[5,Grid.RowCount-2] := SQLQuery.FieldByName('Bemerkungen').AsString;
end;
end;
end;
end.
|
|
Zitat
|