如何使用C#中的表名从数据库中获取DataTable对象?

时间:2012-07-31 11:24:36

标签: c# sql datatable

我正在尝试使用我已经使用的表名从数据库中获取DataTable对象。 (我的意思是我想在多个表之间进行选择。为此我只有一个表示表名的字符串。所以我正在寻找一种方法来获取实际对象。)

我该怎么做?

我已经尝试过了:

DataTable table = new DataTable(TableName);

但我认为这是错误的。 (应用程序应该如何知道表名的来源或搜索位置?)

我尝试使用con.GetSchema("Tables"),但这只列出了表名,而不是DataTable对象。我也试过了,但似乎DataTables不可枚举:

public static DataTable GetTable(string TableName, string conncetionstring)
{
    SqlConnection con = new SqlConnection(conncetionstring);
    foreach (DataTable table in con.GetSchema("Tables"))
    {
        if (table.TableName == TableName)
        {
            return table;
        }
    }
    return null;
}

1 个答案:

答案 0 :(得分:4)

你是对的。架构需要来到某个地方 这是我用来连接和获取表格的典型代码。

string Sql="SELECT * FROM MYTABLE WHERE 1=0";
string connectionstring = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=MYDATA.MDB;"

OleDbConnection new OleDbConnection(connectionstring);
conn.Open();
OleDbCommand cmd = new OleDbCommand(Sql, conn);
OleDbDataAdapter adapter = new OleDbDataAdapter(cmd);
DataTable table = new DataTable();
adapter.Fill(table);
conn.Close();
相关问题