[delphi] tabelnaam opvragen in MS SQL Server

Pagina: 1
Acties:
  • 160 views sinds 30-01-2008
  • Reageer

  • whitecom
  • Registratie: Februari 2004
  • Laatst online: 06-08-2005
Ik heb reeds het tweakers.net forum doorzocht en gegoogled. Maar ik heb geen oplossing voor mijn probleem kunnen vinden.

Ik moet in een dbComboBox alle tabelnamen kunnen laten zien zodat een gebruiker een bepaalde tabel kan selecteren.

Welke Query moet ik uitvoeren om die tabelnamen in die dbComboBox te krijgen?
Of kan iemand me op weg helpen?

Alvast bedankt!

  • jwiegant
  • Registratie: Januari 2002
  • Laatst online: 13-11-2018
Meestal kan je via de connectie de tablenames wel opvragen.

Bijv. als je gebruik maakt van een TADOConnection, dan kun je via de procedure GetTableNames de tabel namen opvragen

Op zoek naar condooms ? http://www.veiligglijden.nl


  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Je moet eens kijken in de systeem-tabellen van je databank in Sql Server:

code:
1
2
select * from sysobjects
where type = 'U'

oid.

https://fgheysels.github.io/


Verwijderd

Ik ben niet erg bekend met Delphi maar kan je met ADO communiceren met delphi?
Anders zou je namelijk de openSchema methode van ADO kunnen gebruiken om dit soort informatie op te vragen.

Zie: http://www.devguru.com/Te...onnection_openschema.html

  • whitecom
  • Registratie: Februari 2004
  • Laatst online: 06-08-2005
Het blijkt nu toch iets moeilijker te zijn dan eerst werd gedacht.
Er staan bijvoorbeeld 15 tabellen in de database STAM
daarvan moeten er 7 geselecteerd worden, dus
code:
1
2
 select *
 where tabelnaam = ' ' AND tabelnaam = ' ' enz. enz.


Wat vul ik in bij die tabelnaam? Wat Whoami schreef brengt me niet verder, ik heb nog gezocht maar ik heb er volgens mij niks aan.

Verder moet in delphi een lus doorlopen worden die die ComboBox dan vult, dat lukt me ook nog wel. Volgens mij klopt het wel ongeveer met die GetTablenames maar dan weet ik nog niet hoe ik op 7 tabellen zou kunnen filteren

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:40
Hoezo het brengt je niet verder?
Met die query krijg je toch alle user defined tabelnamen (of zitten er ook UDF's, Stored Proc, ... bij ?).
Je moet natuurlijk wel een goeie query schrijven. Een query zonder FROM clausule zal niet werken.
sysobjects kent geen veld 'tabelnaam', maar wel een veld name.

Als je met die GetTableNames verder kunt, dan kan je toch in een loopje alles overlopen en toevoegen aan de combobox? Desnoods check je in je loop of het een tabelnaam is die erin mag of niet.

https://fgheysels.github.io/


  • Bas_je
  • Registratie: Augustus 2003
  • Laatst online: 03-03-2025
Ik heb een voorbeeld voor je gemaakt hoe je de tabelnamen kunt opvragen! Ik maak gebruik van een ADOConnectie. Deze linkt nu naar een access database maar dit kun je zo aanpassen dat hij naar je SQL Server connect.

Source Code (Downloadable)

- Bas -

while ( !$succeed ) { $try++ }

Pagina: 1