我正在尝试使用我已有的表名从数据库中获取 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;
}
最佳答案
你是对的。模式需要到达某个地方 这是我用来连接和获取表格的典型代码。
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();
关于c# - 如何在 C# 中使用表名从数据库中获取 DataTable 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11739033/