Autor Beitrag
Luncustaf
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: So 19.01.03 03:24 
...in verschiedenen spalten füllen.

hi ich bin irgendwie zu doof dazu hab nu alles ausprobiert und nichts geht :(

wie bekomm ich die datenaus ner datenbank in nen dbgrid? :(

hoffe auf hilfe.

thx.


gr€€tz
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: So 19.01.03 10:05 
hallo luncustaf!

hast du auch alle benötigten komponenten auf dein form gezogen und sie miteinander verknüpft?
du brauchst einen TTable, oder ein TQuery, eine TDataSource. einen TDBNavigator und ein TDBGrid.

in TTable trägst du in der Eigenschafte 'Databasename' das verzeichnis ein, in dem sich deine daten befinden, bzw deinen aliasnamen für das datenverzeichnis, in 'Tablename' kannst dann die tabelle auswählen, die du anzeigen willst.

in der TDataSource wählst in 'Dataset' auf deinen table
im TDBGrid und im TDBNavigator stellst als 'Datasource' den namen deiner datasource ein.

sobald du nun im TTable das property 'active' auf true stellst, zeigt das DBGrid bereits den inhalt deiner tabelle an...

schau mal in die tutorials:
einstieg
und
fortgeschrittene
dort findest dazu genaue anleitungen

viel spass!
mfg, stefan
Luncustaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: So 19.01.03 10:41 
hi grayfox,


vielen dank für die tuts haben mir sehr geholfen :) nur hab ich noch das problem das es bei den TColumns keine eigenschaft datafield gibt.

wo ich angeben kann welches feld angezeigt werden soll :( kannst du mir da vllt auch nochmal helfen :(

thx

gr€€tz
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: So 19.01.03 10:45 
Hi,

wenn Du die Komponente TQuery benutzt, kannst Du durch den SQL-Befehl

ausblenden Quelltext
1:
SELECT feld1,feld2,feld3 FROM Tabelle					


benutzen und so dir nur bestimmte Felder aus der Datenbank anzeigen lassen. Bei der Komponente TTable weiß ich das garnicht mehr, da ich die überhaupt nichtmehr benutze. 8)
Luncustaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: So 19.01.03 10:50 
jo das mit dem sql weis ich mein code sieht so aus


ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
   sqlq.Sql.Clear;
   sqlq.Sql.Add('SELECT Name FROM user');
   sqlq.Open;
   while not sqlq.Eof do
   begin
      [color=red]frmh_gridf.Columns[0].FieldName := sqlq.FieldByName('Name').AsVariant;[/color]
      sqlq.Next;
   end;
   sqlq.Close;


die rote zeile ist mein problem - ich weis net wie ich die einzelnen der felder der columns füllen kann :(


gr€€tz
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: So 19.01.03 10:53 
bitte, bitte. gern geschehen! :)

aus der OH von Delphi:
Zitat:

Jede TDBGridColumns-Komponente enthält eine Kollektion von TColumn-Objekten in einem Datengitter (TDBGrid). TDBGridColumns verwaltet einen Index der Spalten im Array Items. Die Eigenschaft Count enthält die Anzahl der Spalten in der Kollektion. Während des Entwurfs können im Spalteneditor des Datengitters Spalten hinzugefügt, entfernt oder geändert werden.


einfach das TDBGrid doppelklicken, doppelklick auf Columns und du kannst schon die spalten anlegen und bearbeiten, die du im grid anzeigen willst

mfg, stefan
bis11
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1247
Erhaltene Danke: 2

Apple Mac OSX 10.11

BeitragVerfasst: So 19.01.03 10:56 
Hi,

und wenn Du mal die while-Schleife ganz wegläßt ? Du mußt aber dazu das DBGrid mit der Datasource verbunden haben und die Datasource mit der TQuery, so wie es grayfox beschrieben hat.
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: So 19.01.03 11:20 
luncustaf, das grid übernimmt die namen aus der tabelle automatisch, dazu brauchst das
ausblenden Quelltext
1:
frmh_gridf.Columns[0].FieldName := sqlq.FieldByName('Name').AsVariant;					

nicht. ein
SELECT * from 'tabellenname' reicht vollkommen aus, um die tabelle anzuzeigen...

warum verwendest überhaupt 'variant'? ist dir der feldtyp nicht bekannt?
es geht doch schneller, wenn du gleich den richtigen typen angibst, als wenn delphi die typen erst umwandeln muss :wink:

mfg, stefan
Luncustaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: So 19.01.03 13:55 
hi,

thx für eure antworten.

ich hab das variant genommen weil ich nen bissrl rumprobiert habe das hat aber net gefunkt stand halt gerade so da wo ich den post gemacht habe - wenn ich das mit dem stern mache funktioniert das auch net :(

ich weis auch net

ausblenden Quelltext
1:
2:
3:
4:
   sqlq.Sql.Clear;
   sqlq.Sql.Add('SELECT * FROM user');
   sqlq.Open;
   sqlq.Close;



ich hab das nun so dastehen aber da regt sich nix - woher weis das grid in welche spalte es welche datensätze schreiben muss? :(

ich blick diese komponente net :(

gr€€tz
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: So 19.01.03 14:15 
hast in der TQuery den 'Databasename' ausgefüllt?
entweder einen alias oder den verzeichnisnamen?
dann deaktivier deinen code mal
und trag in der TQuery bei der eigenschaft 'SQL'
Zitat:
SELECT * from den_namen_deiner_tabelle_ohne_punkt_endung

wenn du nun das property active auf true stellst, dann sollte dein grid bereits im entwurfsmodus gefüllt werden.

hast du ganz sicher bei der TDataSource als 'dataset' den namen deiner query eingetragen? und beim grid steht auch als datasource der name deiner datasource?

das grid weiss deshalb welche felder es anzeigen soll, weil du es ihm sagst. '*' heisst 'alle felder'...

du kannst ja auch sagen 'SELECT zuname, vorname FROM adressen' zb...

mfg, stefan
ps: hast dir schon einige beiträge im forum über queries durchgelesen? vielleicht kommst so auf die lösung?
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: So 19.01.03 14:35 
komisch, bei mir tut sich was :)
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.AnzeigeBtnClick(Sender: TObject);
begin
  Query1.Close;
  Query1.Sql.Clear;
  Query1.Sql.Add('SELECT * FROM tblKontakt');
  Query1.Open;
end;

procedure TForm1.EndeBtnClick(Sender: TObject);
begin
  Query1.Close;
  close;
end;


ich befasse mich zwar erst seit heute 10 uhr vormittags mit SQL, vermute aber stark, dass dein sqlq.Close die query schon wieder schliesst, bevor du sie noch sehen kannst ;) was meinst du?

mfg, stefan


Zuletzt bearbeitet von grayfox am So 19.01.03 15:04, insgesamt 1-mal bearbeitet
Luncustaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: So 19.01.03 14:35 
hmm jetzt gehts auf einmal


*komisch :()*


naja egal trotzdem nen dickes thx :) @ query's damit weis ich schon umzugehen hab schonmal ne db anwendung geschrieben nur das grid noch nie verwendet - trotzdem nen dickes thx an dich und bis11 :)


gr€€tz
grayfox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 800

win98, winXP
D4 Standard; D6 Personal
BeitragVerfasst: So 19.01.03 14:51 
na gott sei dank, dass es endlich klappt :wink:
und wo lag jetzt der fehler? hattest nicht alle sources, pfade, etc eingetragen?
ich bin bis heute immer mit tables ausgekommen, aber jetzt weiss ich auch, wie man mit queries hantiert *gg*

mfg, stefan
Luncustaf Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 324

Win 2k
D7 Ent.
BeitragVerfasst: So 19.01.03 15:17 
der fehler lag da das man das query bei active auf true machen muss - da reicht nen open close net aus :(


gr€€tz