国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#動態創建Access數據庫及密碼的方法

2020-01-24 01:28:56
字體:
來源:轉載
供稿:網友

以前工作中需要全新的Access數據庫,可以復制數據庫,也可以把新的數據庫放到資源里面,用新數據庫的時候釋放出來,都感覺不爽,還是動態生成心理舒服。

生成數據庫要使用ADO,首先添加引用。

using System.IO; using System.Data.OleDb; //連接Access數據庫 using ADOX;        //引用COM:Microsoft ADO Ext. 2.8 for DDL and Security //添加引用:Microsoft ActioveX Data Objects 2.8 Library 

創建數據庫:

然后使用ADODB創建數據庫,直接看代碼:

 string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName; //創建數據庫  ADOX.Catalog catalog = new Catalog();  try  {   catalog.Create(conn);  }  catch  {}   //連接數據庫  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);  try  {   catalog.Tables.Append(table);  }  catch (Exception ex)  {   MessageBox.Show(ex.Message);  }  //此處一定要關閉連接,否則添加數據時候會出錯    table = null;  catalog = null;  Application.DoEvents();  cn.Close(); 

創建加密碼數據庫:

創建加密數據庫的時候可把我難住了,因為在Access中加密碼的時候是以獨占方式打開,然后加密碼。所以總是想創建完數據庫以后再加密,試了試沒有成功,最后轉變一下思想,在生成的時候加密碼怎么樣,一試果然成功了。

//創建不帶密碼的連接語句 string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName; //創建加密碼的連接語句,pwd是密碼 

更改數據庫密碼:

SQL更改數據庫密碼的語句是:

ALTER DATABASE PASSWORD [NewPassword] [OldPassword] 

用OleDbConnection打開數據庫執行此SQL語句根本不行,所以我就用ADODB打開數據庫執行,但是報以下錯誤:

給Access添加密碼的時候會要求以“是以獨占方式打開”,所以要設置打開的模式,詳細說明如下:

ADO ConnectModeEnum含義 設置或返回以下某個 ConnectModeEnum 的值。

常量                                                                    說明
AdModeUnknown                       默認值。表明權限尚未設置或無法確定。
AdModeRead                              表明權限為只讀。
AdModeWrite                              表明權限為只寫。
AdModeReadWrite                    表明權限為讀/寫。
AdModeShareDenyRead          防止其他用戶使用讀權限打開連接。
AdModeShareDenyWrite          防止其他用戶使用寫權限打開連接。
AdModeShareExclusive            防止其他用戶打開連接。
AdModeShareDenyNone          防止其他用戶使用任何權限打開連接。

更改數據庫代碼如下:

 string conn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + fileName + ";Jet OLEDB:Database password=" + openpwd; string sql = "ALTER DATABASE PASSWORD " + newpwd + " " + openpwd; ADODB.Connection cn = new ADODB.Connection(); cn.Mode = ADODB.ConnectModeEnum.adModeShareExclusive; cn.Open(conn, null, null, -1); // 執行 SQL 語句以更改密碼。 object num; cn.Execute(sql, out num, -1);  cn.Close(); 

如果你要忘了加的密碼,可以使用使用密碼查看工具“破解密碼unaccess”,在代碼里面文件夾里呢。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 兴国县| 邯郸市| 利川市| 新津县| 天长市| 扶余县| 广德县| 根河市| 新化县| 南华县| 汽车| 准格尔旗| 胶南市| 莱西市| 屯门区| 天柱县| 菏泽市| 平遥县| 张家界市| 灵璧县| 延庆县| 上杭县| 乐亭县| 韶山市| 城步| 西青区| 阳城县| 逊克县| 淮滨县| 和平县| 安龙县| 吉安市| 盖州市| 卓尼县| 遵义县| 呼和浩特市| 通州市| 施甸县| 广宗县| 武安市| 西乌珠穆沁旗|