Toon posts:

Delphi SQL

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi.,

Ik heb een Table, Query, DBGrid, en een Datasource.
Hij laat de inhoud in DBGrid, dit is goed
Mijn tabel is een paradox database en ziet er zo uit:

id - gebruikersnaam - wachtwoord
1 - ikzitopdestoel - mijnwachtw
2 - halloallemaal! - ditismijnw

Nu wil ik alle gebruikersnamen in een listbox laden.
Dus dat de listbox gevuld word met

ikzitopdestoel
halloallemaal!

Hoe doe ik dit?
Alvast hartstikke bedankt

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 21-02 00:06

dusty

Celebrate Life!

kan op verschillende manieren, persoonlijk zou ik zeggen loop je dbgrid door en voeg dan elke naam toe aan de listbox.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Verwijderd

Properties van DBgrid (dubbelklikken) en dan foldertje aanklikken, dan ff de velden verwijderen die je neit wilt zien .
Exacte stappen kunnen net iets anders zijn, doe het nu uit m'n hoofd.

Verwijderd

Topicstarter
Op zaterdag 03 november 2001 22:58 schreef SelfBias het volgende:
Properties van DBgrid (dubbelklikken) en dan foldertje aanklikken, dan ff de velden verwijderen die je neit wilt zien .
Exacte stappen kunnen net iets anders zijn, doe het nu uit m'n hoofd.
Hmm,. ik wil de huidige info gewoon in mijn db grid hebben, maar dus ene copy can de gebruikersnamen in een listbox!!!!

Verwijderd

Ik zou dus niet de grid gaan doorlopen en daar de gegevens uit halen, maar een db combobox gebruiken en dan de tabel effe doorlopen van begin tot het einde en dan de combobox vullen.
code:
1
2
3
4
5
  SQLTable1.First;
  while not SQLTable1.Eof do begin
      DBComboBox1.Items.Add(SQLTable1.FieldByName('username').AsString);

   SQLTable1.Next;

Verwijderd

Topicstarter
Op zondag 04 november 2001 12:03 schreef kia het volgende:
Ik zou dus niet de grid gaan doorlopen en daar de gegevens uit halen, maar een db combobox gebruiken en dan de tabel effe doorlopen van begin tot het einde en dan de combobox vullen.
code:
1
2
3
4
5
  SQLTable1.First;
  while not SQLTable1.Eof do begin
      DBComboBox1.Items.Add(SQLTable1.FieldByName('username').AsString);

   SQLTable1.Next;

Thanbks


buttononclick:

Table1.First;
while not Table1.Eof do begin
DBComboBox1.Items.Add(Table1.FieldByName('Gebruikersnaam').AsString);
Table1.Next;

end;



hij geeft een error:

unable to insert a line!!


en er zit wel data in hoor!!


GRrr, kun je helpen
[edit] werkt al!!!

Verwijderd

uhh tja moeilijk te zeggen zo, heb je alles goed ingevuld, dus ook de fieldbyname. Bij mij onder delphi6 werkt het namelijk prima. Leg anders eens precies uit hoe alles eruit ziet en wat je doet.

Verwijderd

Topicstarter
Op zondag 04 november 2001 12:22 schreef kia het volgende:
uhh tja moeilijk te zeggen zo, heb je alles goed ingevuld, dus ook de fieldbyname. Bij mij onder delphi6 werkt het namelijk prima. Leg anders eens precies uit hoe alles eruit ziet en wat je doet.
?
had Table1.Next achter de end van de while loop staan, dat werkt natuurlijk niet, maar het is al opgelost!!

Verwijderd

humm ja ik zie dat de end niet is meegekomen in mijn voorbeeld code, ik moet beter opletten de volgende keer. Maar mooi dat het werkt.

Verwijderd

Topicstarter
Op zondag 04 november 2001 12:27 schreef kia het volgende:
humm ja ik zie dat de end niet is meegekomen in mijn voorbeeld code, ik moet beter opletten de volgende keer. Maar mooi dat het werkt.
Zeker, trouwens ik heb nog wel een vraag!!

Ik wil een select query doen!
SELECT gebruikersnaam FROM users WHERE gebruikersnaam = ''piet''

nu moet ie dus piet als result geven, maar ik krijg het niet voor elkaar om het in een DBlistbox te zetten!!
Ik heb wel de datasource opgegeven!! hij zet het er alleen niet in, als ik het in een DBGrid zet, doed ie het wel!!

Grrrr, ik moet het nog leren met delphi sql hoor, maar wie weet hoe ik dit doe?? of wie weet waar een goede delphi sql tutorial staat?? ik heb al gezocht op google

Verwijderd

Topicstarter
function MakeQuery(Query:string;DBName:string):string;
var
QueryType: string;
begin
Form1.Query1.DatabaseName := ExtractFilePath(DBName);
Form1.Query1.SQL.Text := Query;
try
QueryType := Uppercase(copy(Query,1,Pos(#32,Query)-1));
if QueryType = 'SELECT' then
begin
Form1.Query1.open;
Form1.Table1.Close;
Form1.Table1.Open;
Form1.DataSource1.DataSet := Form1.Query1;
end
else
begin
Form1.Query1.ExecSQL;
Form1.Table1.Close;
Form1.Table1.Open;
end;
except
on E:Exception do
begin
ShowMessage(E.Message);
Form1.DataSource1.DataSet := Form1.Table1;
Form1.Table1.Open;
end;
end;
end;


buttononclick:
--------
var
Userdb :string='D:\Programmeren\Delphi\Projecten\X-Treme Messenger\data\users.db';
begin
MakeQuery('SELECT gebruikersnaam FROM users WHERE Gebruikersnaam = ''piet''',UserDB);

end;

Verwijderd

Ik weet niet precies wat je wilt of wat er mis gaat, maar het vullen van een listbox of combobox (niet de DB-versies!) met gebruikersnamen is niet zo lastig...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure GetUsers(AList: TStrings);
begin
  AList.BeginUpdate;
  try
    AList.Clear;
    with TQuery.Create(nil) do try
    DatabaseName := UserDB;
    SQL.Add('SELECT gebruikersnaam FROM users order by Gebruikersnaam');
    Open;
    while not EOF do begin
      AList.Add(FieldByName('Gebruikersnaam').AsString);
      Next;
    end;
    finally
    Free;
    end;
  finally
    AList.EndUpdate;
  end;
end;

AList kan een gewone StringList zijn, maar ook bv. de Items property van een list- of combobox.

Verwijderd

Topicstarter
Op zondag 04 november 2001 13:04 schreef Afterlife het volgende:
Ik weet niet precies wat je wilt of wat er mis gaat, maar het vullen van een listbox of combobox (niet de DB-versies!) met gebruikersnamen is niet zo lastig...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
procedure GetUsers(AList: TStrings);
begin
  AList.BeginUpdate;
  try
    AList.Clear;
    with TQuery.Create(nil) do try
    DatabaseName := UserDB;
    SQL.Add('SELECT gebruikersnaam FROM users order by Gebruikersnaam');
    Open;
    while not EOF do begin
      AList.Add(FieldByName('Gebruikersnaam').AsString);
      Next;
    end;
    finally
    Free;
    end;
  finally
    AList.EndUpdate;
  end;
end;

AList kan een gewone StringList zijn, maar ook bv. de Items property van een list- of combobox.
thanks ik heb hem een beetje aangepast, mooi man!! ben er blij mee!!

Verwijderd

YW! :)
Pagina: 1