![]() |
Datenbank: MS SQL Server • Version: 2005 • Zugriff über: ODBC Alias
table auf stringgrid abbilden
Guten Abend,
worin besteht hier der Fehler? Das Programm soll aus einer beliebigen Datenbank von MS SQL Server Daten abholen und im Stringgrid darstellen (also eine Tabelle daraus). Alle Versuche sind bis jetzt gescheitert etwas anzuzeigen. Die Tabelle in der Datenbank soll 1:1 im Stringgrid abgebildet werden. Der Ansatz ist aus einer ähnlich lautenden Diskussion, die aber auf DBGrid verwies, was mir in meinen Augen nichts bringt.
Delphi-Quellcode:
Vielen Dank im vorraus!
query1.sql.Add('SELECT * FROM tabelle');
query1.Open; while not (table1.Eof) do begin for x:=0 to Table1.FieldCount-1 do stringgrid1.Cells[x,Table1.RecNo]:=Table1.Fields[x].asString; table1.next; end; |
Re: table auf stringgrid abbilden
Zitat:
Und außerdem solltest du dich entscheiden ob Table oder Query. RecNo als Index ist auch nicht so gut, nimm lieber eine andere laufvariable.
Delphi-Quellcode:
query1.sql.text := 'SELECT * FROM tabelle';
query1.Open; Query1.First; y := 0; while not query1.Eof do begin for x:=0 to Query11.FieldCount-1 do stringgrid1.Cells[x,y]:=Query1.Fields[x].asString; Query11.next; inc(y); end; |
Re: table auf stringgrid abbilden
Liste der Anhänge anzeigen (Anzahl: 1)
Danke für die schnelle Antwort. Das Problem ist nur ,dass der Code von dir eine Schutzverletzung verursacht, seltsamerweise.
Das unten Query11 und oben Query1 steht ist sicherlich ein Tippfehler. Das mit dem Zusammenspiel der Komponenten wußte ich nicht diese Datenbank-Geschichte ist absolutes Neuland für mich. Der Fehler ist im Anhang, er tritt nicht auf wenn ich Query1.FieldCount-1 durch 1 ersetz ab 2 kommt er wieder. Der FieldCount hat einen Wert von 44, und der Fehler tritt au wenn der Index von Query1.Fields[x].asString größer 1 wird. Zu der Frage warum nicht DBGrid, ich will die Daten in einer Tabelle speichern und auswerten ob das nun auch mit einem DBGrid geht, lass ich mich gerne eines besseren belehren (Ich programmier normalerweise kein Delphi). Auf jeden Fall hab ich alle Prozeduren bis jetzt mit Stringgrid realisiert und hatte keine Probleme. Hab vorher mySQL genommen, dass war bei weiten einfacher. Muß aber die Daten leider auf einen MS SQL Server legen. |
Re: table auf stringgrid abbilden
Hi,
du brauchst mit einem DBGrid noch net mal ne Query. Das Grid an die DataSource binden, oeffnen, DataSource Active auf True und dir wird die gesamte Tabelle angezeigt! |
Re: table auf stringgrid abbilden
Möglicherweise mußt du die Größe des Grids noch mit .ColCount und .RowCount anpassen.
|
Re: table auf stringgrid abbilden
Zu dem Fehler noch mal, kann das am Datentyp liegen? Weil ich hab noch keine Tabelle auf dem Server und hab einfach eine von MS genommen aus der MASTER Datenbank.
Und wenn ich mir die Funktion Query1.Fields[x].asString genauer anseh bietet sie verschiedene Datentypen, wie mach ich dann aber ein Typcasting auf String bspw von Float? Ich hab die Größe auf 50x50 da sollte eine 44x5 Tabelle reinpassen, aber Danke für den Hinweis. |
Re: table auf stringgrid abbilden
Zitat:
|
Re: table auf stringgrid abbilden
Zitat:
Zu dem Vorschlag mit dem DBGrid kann ich da zellenweise was einlesen, den Wert schreibt eine procedure die von einem Event-handle ausgelöst wird? Weil .cells[] fehlt ja dort. Noch zu der Query-Komponente kann ich die Verbindungs-Parameter im Programm übergeben, so dass der Verbindungsdialog nicht jedesmal erscheint? |
Re: table auf stringgrid abbilden
Zitat:
Zitat:
|
Re: table auf stringgrid abbilden
Zitat:
Die Frage ist eher ob ich das DBGrid zur Laufzeit manipulieren kann? Sprich bearbeiten. Ich hab jetzt mal selbst eine Tabelle und Datenbank über Query erzeugt und siehe da es geht. Alle Daten (alle TEXT) werden eingelesen. Jetzt ist nur noch das Problem wie stelle ich fest das die Tabelle/Datenbank schon vorhanden ist bzw so den Fehler auswerte, dass ich die SQL-Anweisung verwerfe? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:59 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-2025 by Thomas Breitkreuz