ADO.Net:从SQL Server表中获取表定义 [英] ADO.Net : Get table definition from SQL server tables

查看:95
本文介绍了ADO.Net:从SQL Server表中获取表定义的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用C#编写返回有关表以下信息的方法: 列名,列类型,列大小,外键。

I am using C# to write a method that returns the following information about a table: column names, column types, column sizes, foreign keys.

有人点我在正确的方向上如何做到这一点?

Can someone point me in the right direction on how to accomplish this ?

推荐答案

要获取FK和模式,你应该能够使用:

To get the FK and Schema you should be able to use:

DA.FillSchema() 

DS.Table("Name").PrimaryKey

,或致电 sp_fkey 使用证明以下

code段<一href="http://social.msdn.microsoft.com/Forums/en-US/winformsdatacontrols/thread/fad53def-d4d3-4a46-9fe2-f7d2f1251b42/"相对=nofollow>从和另一个链接

    private void LoanSchema()
    {

         private List<String> tablesList = new List<String>();
         private Dictionary<String, String> columnsDictionary = new Dictionary<String, String>();

          string connectionString = "Integrated Security=SSPI;" +
          "Persist Security Info = False;Initial Catalog=Northwind;" +
          "Data Source = localhost";
          SqlConnection connection = new SqlConnection();
          connection.ConnectionString = connectionString;
          connection.Open();

          SqlCommand command = new SqlCommand();
          command.Connection = connection;
          command.CommandText = "exec sp_tables";
          command.CommandType = CommandType.Text;

          SqlDataReader reader = command.ExecuteReader();

           if (reader.HasRows)
           {
               while (reader.Read())
                  tablesList.Add(reader["TABLE_NAME"].ToString());
           }
           reader.Close();

           command.CommandText = "exec sp_columns @table_name = '" +
           tablesList[0] + "'";
           command.CommandType = CommandType.Text;
           reader = command.ExecuteReader();

            if (reader.HasRows)
            {
                while (reader.Read())
                          columnsDictionary.Add(reader["COLUMN_NAME"].ToString(), reader["TYPE_NAME"].ToString());
             }
}

这篇关于ADO.Net:从SQL Server表中获取表定义的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆