begin process at 2008 09 06 09:00:24
1 237 665 membres
62 nouveaux aujourd'hui
14 313 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Récupérer les noms des tables [ Base de données / SQL Server ] (mimosa803)

Récupérer les noms des tables le 28/02/2008 09:01:49

mimosa803
 Bonjour, je souhaite savoir comment je peux récupérer les noms des tables de ma base de données et leurs champs avec du code bien sûr s'il existe, parce que j'ai trouvé une requête qui peut lister tous les tables.
Merci

Re : Récupérer les noms des tables le 28/02/2008 09:33:02

billou_13
Membre Club
Salut

Cette question est plutôt une question SQL si je ne m'abuse. Le bon forum est donc www.sqlfr.com .
Tu y trouveras néanmoins des sources intéressantes sur le sujet :
- http://www.sqlfr.com/codes/SQL-SERVER-RECUPERER-TOUTES-TABLES-TOUS-CHAMPS-GRACE_26609.aspx
- http://www.sqlfr.com/codes/LISTE-BASES-TABLES-COLONNES-TRIES-TYPE-PROCEDURE-STOCKES_34071.aspx



Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------

Re : Récupérer les noms des tables le 28/02/2008 09:38:59

billou_13
Membre Club
Je viens de relire ta question et je ne comprends plus trop le sens, désolé.
Tu veux connaitre la requête ou le code C# qui appelle la requête ?
Dans ce dernier cas, tu trouveras beaucoup de code d'accès aux données et d'exécution de requête et cherchant un peu sur le site ^^


Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------

Re : Récupérer les noms des tables le 28/02/2008 09:40:53

mimosa803
Oui je sais que c'est une requete "select * from sysobjects where xtype='U' " mais je veux les rrécupérer avec du code (des objets SQLClient)

Re : Récupérer les noms des tables le 28/02/2008 09:41:30

billou_13
Membre Club
Après un petite recherche, un lien qui peut t'être intéressant :
http://www.csharpfr.com/codes/DIVERS-CLASSES-POUR-UTILISER-MYSQL-ACCESS-SQL-SERVER_36034.aspx



Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------

Re : Récupérer les noms des tables le 28/02/2008 09:48:06

lassaad83
Membre Club

Bonjour, ça depend de la version d'Sql Server, pour sql 2000 ça doit être ça :

SELECT
o.name, c.name
FROM dbo.syscolumns c
INNERJOIN dbo.sysobjects o
ON c.id = o.id
WHERE o.name = 'Le_nom_de_ta_Table'
ORDER BY c.colorder

Pour 2005 c'est ça :

SELECT

OBJECT_NAME ( Object_ID ) AS 'NomTable' , Name AS 'NomColone' , Column_ID
FROM sys.all_columns
ORDER BY NomTable , NomColone

Re : Récupérer les noms des tables le 28/02/2008 09:48:32

mimosa803
Mon problème ce n'est pas la manipulation des requetes, voila un exemple avec du code qui permet de récupérer les tables access :

  • using System.Data.OleDb;
  • using System.Data;
  • using System.Collections;
  • //
  • //Methodes de récupéraion des noms de Tables
  • //
  • public DataTable GetTables(OleDbConnection conn)
  • {
  • conn.Open();
  • DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
  • newobject[] {null, null, null, "TABLE"});
  • conn.Close();
  • return schemaTable;
  • }
  • privatevoid button1_Click(object sender, System.EventArgs e)
  • {
  • string source = "Provider=Microsoft.Jet.OLEDB.4.0;" +
  • "Data Source = cheminde_la_base_de_donnees";
  • OleDbConnection conn = new OleDbConnection(source);
  • DataTable t = GetTables(conn);
  • tableCheckedListBox.DataSource = t;
  • tableCheckedListBox.DisplayMember = "TABLE_NAME";
  • listBox1.DataSource = t;
  • listBox1.DisplayMember = "TABLE_NAME";
  • }

Re : Récupérer les noms des tables le 28/02/2008 09:50:54

billou_13
Membre Club
Pour t'aider un peu, un des méthodes :
Tu utilise le namespace System.Data.SqlClient;

Puis le code :

SqlConnection connection = new SqlConnection("ConnectionString");
try
{
connection.Open();

SqlCommand command = new SqlCommand("select * from sysobjects where xtype='U'");
SqlDataReader reader = command.ExecuteReader();

while (reader.Read())
{
string name = reader.GetString(0);//Index de la colonne
}
}
finally
{
connection.Close();
}



Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------

Re : Récupérer les noms des tables le 28/02/2008 09:51:17

lassaad83
Membre Club

Ah ben moi tout comme billou_13  j'ai pas trop bien compris ta question apparement ...


Re : Récupérer les noms des tables le 28/02/2008 09:53:08

billou_13
Membre Club
Okay, j'avais pas vu ton dernier post. Autant pour moi alors ^^. Je ne connais pas trop les bases Access (question d'éthique ^^)


Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------


[Page 1 Page 2]
Classé sous : récupérer, noms, tables

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Septembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
2930     

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS