C#动态创建Access数据库文件代码

       string fileName="D:\\f.mdb";
       
        //创建数据库
        public void CreateData(string fileName)
        {

            string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName;
           
            //创建数据库
            ADOX.Catalog catalog = new Catalog();
            catalog.Create(conn);


            //连接数据库
            ADODB.Connection cn = new ADODB.Connection();
            cn.Open(conn, null, null, -1);                      
            catalog.ActiveConnection = cn;

            //新建表
            ADOX.Table table = new ADOX.Table();
            table.Name = "AdPlayList";

            ADOX.Column column = new ADOX.Column();
            column.ParentCatalog = catalog;
            column.Type = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
            column.Name = "ID";
            column.DefinedSize = 9;
            column.Properties["AutoIncrement"].Value = true;
            table.Columns.Append(column, DataTypeEnum.adInteger, 0);
            //设置主键
            table.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "ID", "", "");

            table.Columns.Append("FileName", DataTypeEnum.adVarWChar, 50);
            table.Columns.Append("FileDate", DataTypeEnum.adDate, 0);
            table.Columns.Append("FileSize", DataTypeEnum.adInteger, 9);
            table.Columns.Append("OrderID", DataTypeEnum.adInteger, 9);
            table.Columns.Append("Sha1", DataTypeEnum.adVarWChar, 50);
           
            catalog.Tables.Append(table);
            //此处一定要关闭连接,否则添加数据时候会出错

            table = null;
            catalog = null;
            Application.DoEvents();
            cn.Close();
        }

==================================================================================
        //添加数据到表中
        public void AddData(string fileName)
        {
            string strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Persist Security Info=False";

            OleDbConnection conn = new OleDbConnection(strConnection);
            string strSql = "select * from AdPlayList";
            OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);
            DataSet ds = new DataSet();

            conn.Open();
            da.Fill(ds, "AdPlayList");
            DataRow dr = ds.Tables["AdPlayList"].NewRow();
            dr["FileName"] = "A.wmv";
            dr["FileDate"] = DateTime.Now.ToShortDateString();
            dr["FileSize"] = 25;
            dr["OrderID"] = 1;
            dr["Sha1"] = "2q34lkadsflaoiulkj34";
            ds.Tables["AdPlayList"].Rows.Add(dr);
            OleDbCommandBuilder cb = new OleDbCommandBuilder(da);
            da.Update(ds, "AdPlayList");
            ds.AcceptChanges();

            da.Dispose();
            conn.Dispose();
            conn.Close();
        }

==============================================================
        //在dataGridView1中显示表中数据
        private void ViewData(string fileName)
        {
            string strConnection;
            strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Persist Security Info=False";
           
            OleDbConnection conn = new OleDbConnection(strConnection);            
            string strSql = "select * From AdPlayList";
            OleDbDataAdapter da = new OleDbDataAdapter(strSql, conn);
            DataSet ds = new DataSet();
    
            conn.Open();              

            da.Fill(ds, "AdPlayList");

            dataGridView1.DataSource = ds.Tables[0];

            da.Dispose();
            conn.Dispose();
            conn.Close();
        }

posted @ 2011-12-08 22:34  群落此处  阅读(401)  评论(0)    收藏  举报