OleDbConnection odconn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\BF\BugTypes.mdb");
odconn.Open(); OleDbCommand odcomm = new OleDbCommand(); odcomm.CommandText = "select * from *"; odcomm.Connection = odconn; DataSet ds = new DataSet();
OleDbDataAdapter odda = new OleDbDataAdapter(odcomm); odda.Fill(ds);
//odda.Fill(ds, "Categories"); Console.WriteLine("Table count: {0}", ds.Tables.Count);
foreach (DataTable item in ds.Tables)
{
Console.WriteLine(" Table :{0}", item.TableName);
}
问题是:我想对数据库中所有的表进行访问,那我该如何 修改 下面的这行语句。
odcomm.CommandText = "select * from *";
嗯,谢谢,我能看懂这句代码,不过若你能把这句代码的实例从IDE中直接COPY 过来,我也算学习了。最者,我是不知如何写这句:odcomm.CommandText = 。。
我是想这样在后面的操作中访问数据库中所有的表!
odconn.Open(); DataTable dtc = odconn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); Console.WriteLine("dtc.Rows.Count = {0} ",dtc.Rows.Count);
Console.WriteLine("dtc.Cols.Count = {0} ", dtc.Columns.Count); foreach (DataRow item in dtc.Rows )
{
Console.WriteLine("0:" + item[0] + " 1:" + item[1] + " 2:" + item[2] + " 3:" + item[3]);
}
使用 .GetOleDbSchemaTable() 方法返回表,不过很怪的是是,它总是在第三列中显示出结果,就是不知道如何正确的返回?
dtc.Rows.Count = 9
dtc.Cols.Count = 9
0: 1: 2:Categories 3:TABLE
0: 1: 2:Customers 3:TABLE
0: 1: 2:Employees 3:TABLE
0: 1: 2:Order Details 3:TABLE
0: 1: 2:Orders 3:TABLE
0: 1: 2:Products 3:TABLE
0: 1: 2:Shippers 3:TABLE
0: 1: 2:Suppliers 3:TABLE
0: 1: 2:Table1 3:TABLE
odconn.Open(); DataTable dtc = odconn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" }); Console.WriteLine("dtc.Rows.Count = {0} ",dtc.Rows.Count);
Console.WriteLine("dtc.Cols.Count = {0} ", dtc.Columns.Count); Console.WriteLine();
foreach (DataColumn item in dtc.Columns )
{
Console.WriteLine("{0,19} {1}", item.ColumnName, item.DataType);
} Console.WriteLine();
foreach (DataRow item in dtc.Rows )
{
Console.WriteLine(item["TABLE_NAME"]);
}
设表名为: "TABLE NAME"
为什么 odcomm.CommandText = "select * from TABLE NAME";和 odcomm.CommandText = "select * from \"TABLE NAME\"";都不行呢?
odcomm.CommandText = "select * from \"Order Details\"";
odcomm.CommandText = "select * from Order Details";