2010-12-09 36 views

Répondre

1

Via .NET, ce n'est ni l'un ni l'autre - c'est juste l'affichage SSMS. Basé sur les questions précédentes, il semble que vous ayez juste des difficultés à lire cette colonne dans les chaînes;

Peut-être quelque chose comme:

List<string> list = new List<string>(); 
    using(var conn = new SqlConnection(connectionString)) 
    using (var cmd = conn.CreateCommand()) { 
     cmd.CommandText = @" 
      SELECT TABLE_NAME 
      FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS 
      WHERE CONSTRAINT_TYPE = 'PRIMARY KEY' 
      AND TABLE_NAME <> 'dtProperties' 
      ORDER BY TABLE_NAME"; 
     conn.Open(); 

     using (var reader = cmd.ExecuteReader()) { 
      while (reader.Read()) { 
       list.Add(reader.GetString(0)); 
      } 
     } 
    } 

(testé localement, fonctionne très bien)

Si vous voulez quelque chose délimité, peut-être:

string s = string.Join("|", list); 

Ou quelque chose impliquant un StringBuilder (sauts de ligne dans cet exemple):

StringBuilder sb = new StringBuilder(); 
    using(var conn = new SqlConnection(connectionString)) 
    using (var cmd = conn.CreateCommand()) { 
     cmd.CommandText = @" 
      SELECT TABLE_NAME 
      FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS 
      WHERE CONSTRAINT_TYPE = 'PRIMARY KEY' 
      AND TABLE_NAME <> 'dtProperties' 
      ORDER BY TABLE_NAME"; 
     conn.Open(); 

     using (var reader = cmd.ExecuteReader()) { 
      while (reader.Read()) { 
       sb.AppendLine(reader.GetString(0)); 
      } 
     } 
    } 
    string s = sb.ToString(); 
+0

Merci beaucoup monsieur !! – Srivastava

0

Quelque chose comme ça aide?

string[] myObjArray = new string[DataTable1.Rows.Count]; 

DataTable1.Rows.CopyTo(myObjArray, 0); 
0

Je ne sais pas ce que vous entendez par forme formatée. Vous pouvez récupérer une chaîne avec tous les noms de table avec instruction SQL suivante:

declare @out varchar(max) 
set @out = '' 
select @out = @out + table_name + char(10) + char(13) from information_schema.table_constraints 
where constraint_type = 'PRIMARY KEY' 
and table_name <> 'dtProperties' 
order by table_name 

select @out