我的代码;
using System;
using System.Data;
using System.Data.OleDb;
string ConnectionString = @"Provider=Microsoft.Jet.OleDB.4.0;Data Source=C:\Program Files\Microsoft Office\Office\1033\FPNWIND.mdb";
OleDbConnection conn = new OleDbConnection(ConnectionString);
conn.Open();

   DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,
                                                   new object[] {null, null, null, "TABLE"});
   foreach (DataRow dr in  schemaTable.Rows)
   {
//表名
Console.WriteLine(dr["TABLE_NAME"]);                  //字段名
DataTable columnTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,
                new object[] {null, null, dr["TABLE_NAME"].ToString(),null});
             foreach(DataRow dr2 in columnTable.Rows)
             {
                Console.WriteLine("    {0}", dr2["COLUMN_NAME"]);
             } }
conn.Close();
我想用GetOleDbSchemaTable方法得到指定表的数据类型,怎么做啊

解决方案 »

  1.   

    “用GetOleDbSchemaTable方法得到指定表的数据类型”???什么叫“指定表的数据类型”???你说的是指定表的指定字段的数据类型吧???
    可以通过读系统表得到,不过要求数据库支持。(比如SqlServer和Oracle都支持,但是如果你是拿Excel做数据库,显然不支持。)
      

  2.   

    对 是指定表的指定字段的数据类型
    DataTable columnTable = oledbCn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,
    new object[] {null, null, this.cmbTables.Text,null}); foreach(DataColumn dc in columnTable.Columns)
    {
    this.comboBox1.Items.Add(dc.DataType.ToString());
    }
    我这么写的但是显示出来有问题啊,怎么回事
      

  3.   

    http://blog.csdn.net/zhzuo/archive/2004/07/03/33273.aspx