制作Access代码生成器 研发中【资料整理】

类别:vs2003 C# 应用程序
---------------------------
data_type类型列表
备注:130
字符串:130
日期:7
数字:3
---------------------------
获得全部表

db db = new db(this.textBox1.Text);
   System.Data.DataTable schemaTable  = db.oleConnection.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,new Object[] {null, null, null, "TABLE"});
            ArrayList ss = new ArrayList();
   for(int i = 0;i<schemaTable.Rows.Count;i++)
   {
    ss.Add(schemaTable.Rows[i].ItemArray[2].ToString());
   }
   this.listBox1.DataSource = ss;
   //System.Windows.Forms.MessageBox.Show(tableNames);
   db.close();

------------------------------
获得全部字段
//System.Windows.Forms.MessageBox.Show(this.listBox1.SelectedValue.ToString());
   db db = new db(this.textBox1.Text);
   System.Data.DataTable schemaTable  = db.oleConnection.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Columns,new Object[] {null, null, this.listBox1.SelectedValue.ToString() , null});
   ArrayList ss = new ArrayList();
   //这个是显示表的属性的:用在获得表的里面的。。因为OleDbSchemaGuid.Tables被改为OleDbSchemaGuid.Columns了。。
//   for(int i = 0;i<schemaTable.Columns.Count;i++)
//   {
//    ss.Add(schemaTable.Columns[i].ToString());
//   }
   //这个是显示列的
   for(int i=0;i<schemaTable.Rows.Count;i++)
   {
    ss.Add(schemaTable.Rows[i].ItemArray[3].ToString()+" : "+schemaTable.Rows[i].ItemArray[11].ToString());
   }
   this.listBox2.DataSource = ss;
   //System.Windows.Forms.MessageBox.Show(tableNames);
   db.close();

-----------------------------------------
db类
public OleDbConnection oleConnection;
  public db(string ConnString)
  {
   try
   {
    ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source="+ConnString;
    oleConnection = new OleDbConnection(ConnString);
    oleConnection.Open();
    //System.Windows.Forms.MessageBox.Show("数据库已连接!");
   }
   catch
   {
    System.Windows.Forms.MessageBox.Show("数据库连接错误!");
   }
  }
  public void close()
  {
   oleConnection.Close();
   //System.Windows.Forms.MessageBox.Show("数据库已关闭!");
  }
-----------------------------------
资料参考1:
将 Access 数据库的表结构信息读出来的方法
http://www.why100000.com/Htmls/tabAspNet213.htm
资料参考2:
C# 使用 GetOleDbSchemaTable 检索架构信息(表、列、主键等)
http://www.cnitblog.com/yhf119/archive/2008/01/16/38926.html
posted @ 2008-04-09 18:02  彭成刚  阅读(626)  评论(1编辑  收藏  举报