private void Button_Click(object sender, RoutedEventArgs e) { //创建数据库文件 ADOX.Catalog catalog = new Catalog(); catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb;Jet OLEDB:Engine Type=5"); Debug.WriteLine("DataBase created"); //建表 ADODB.Connection cn = new ADODB.Connection(); cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\test.mdb", null, null, -1); catalog.ActiveConnection = cn; ADOX.Table table = new ADOX.Table(); table.Name = "FirstTable"; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Name = "RecordId"; column.Type = DataTypeEnum.adInteger; column.DefinedSize = 9; column.Properties["AutoIncrement"].Value = true; table.Columns.Append(column, DataTypeEnum.adInteger, 9); table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); table.Columns.Append("CustomerName", DataTypeEnum.adVarWChar, 50); table.Columns.Append("Age", DataTypeEnum.adInteger, 9); table.Columns.Append("Birthday", DataTypeEnum.adDate, 0); catalog.Tables.Append(table); cn.Close(); }
private Column GetColumn(ADOX.Column column, Table tab) { var col = new Column(column.Name, tab); try { col.CharacterLength = column.DefinedSize; } catch {} try { col.DataPrecision = column.Precision; } catch { } try { col.DataScale = column.NumericScale; } catch { } try { col.DataType = GetDataType(column.Type); } catch { } return(col); }
private void button3_Click(object sender, EventArgs e) { string dbn = System.AppDomain.CurrentDomain.BaseDirectory + "Access_Data\\" + "SpiderResult.mdb";//数据库文件名称 //// 创建数据库文件 File.Delete(dbn); ADOX.Catalog catalog = new Catalog(); catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbn + ";Jet OLEDB:Engine Type=5"); ADOX.Table table = new ADOX.Table(); table.Name = "Content"; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Name = "ID"; column.Type = DataTypeEnum.adInteger; column.DefinedSize = 9; column.Properties["AutoIncrement"].Value = true; table.Columns.Append(column, DataTypeEnum.adInteger, 9); table.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "ID", "", ""); table.Columns.Append("已采", DataTypeEnum.adBoolean, 0); table.Columns.Append("已发", DataTypeEnum.adBoolean, 0); table.Columns.Append("标题", DataTypeEnum.adVarWChar, 0); table.Columns.Append("内容", DataTypeEnum.adVarWChar, 0); table.Columns.Append("PageUrl", DataTypeEnum.adVarWChar, 0); catalog.Tables.Append(table); MessageBox.Show(string.Format("创建成功")); }
private ADOX.Column defCol(string colName) { ADOX.Column col = new ADOX.Column(); col.Name = colName; col.Type = ADOX.DataTypeEnum.adVarWChar; col.Attributes = ADOX.ColumnAttributesEnum.adColNullable; col.DefinedSize = 255; return(col); }
//创建数据库 public void createDb(String versionNum) { ADOX.Catalog catalog = new ADOX.Catalog(); //String versionNum = extension.Text; try { catalog.Create(databaseCon + otherDbs + versionNum + ".mdb" + ";Jet OLEDB:Engine Type=5"); } catch { } ADODB.Connection cn = new ADODB.Connection(); cn.Open(databaseCon + otherDbs + versionNum + ".mdb", null, null, -1); catalog.ActiveConnection = cn; //创建表 ADOX.Table table = new ADOX.Table(); table.Name = "config1"; //创建列 ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Name = "ID"; column.Type = DataTypeEnum.adInteger; column.DefinedSize = 9; column.Properties["AutoIncrement"].Value = true; table.Columns.Append(column, DataTypeEnum.adInteger, 9); // 设置为主键 table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); table.Columns.Append("fileName", DataTypeEnum.adVarWChar, 0); table.Columns.Append("fileSize", DataTypeEnum.adInteger, 0); table.Columns.Append("createTime", DataTypeEnum.adDate, 0); table.Columns.Append("modifiedTime", DataTypeEnum.adDate, 0); table.Columns.Append("path", DataTypeEnum.adLongVarWChar, 0); table.Columns.Append("versionNum", DataTypeEnum.adInteger, 0); table.Columns.Append("updateMethod", DataTypeEnum.adVarWChar, 0); try { // 添加表 catalog.Tables.Append(table); } catch (Exception ex) { MessageBox.Show(ex.Message); } //此处一定要关闭连接,否则添加数据时候会出错 table = null; catalog = null; //Application.DoEvents(); cn.Close(); }
/// <summary> /// 创建数据库表 /// </summary> /// <param name="strConnection"></param> /// <param name="strTableName"></param> /// <param name="listColumns"></param> public static void CreatDBTable(string strConnection, string strTableName, List <string> listColumns) { ADOX.Catalog catalog = new Catalog(); ADODB.Connection cn = new ADODB.Connection(); strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + strConnection; OleDbConnection conn = new OleDbConnection(strConnection); try { conn.Open(); cn.Open(strConnection, null, null, -1); catalog.ActiveConnection = cn; if (string.IsNullOrEmpty(strTableName)) { loghelp.log.Error("表名不能为空!"); return; } bool flag = db.dbutils.GetTables(conn, strTableName); if (!flag)//判断表名是否存在 { ADOX.Table table = new ADOX.Table(); table.Name = strTableName; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Name = "id"; column.Type = ADOX.DataTypeEnum.adInteger; column.DefinedSize = 50; column.Properties["AutoIncrement"].Value = true; table.Columns.Append(column, DataTypeEnum.adInteger, 50); table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); foreach (string strColumns in listColumns) { table.Columns.Append(strColumns, DataTypeEnum.adVarWChar, 50); table.Columns[strColumns].Attributes = ColumnAttributesEnum.adColNullable; } catalog.Tables.Append(table); //此处一定要关闭连接,否则添加数据时候会出错 table = null; catalog = null; } } catch (Exception ex) { loghelp.log.Fatal(ex.Message, ex); } finally { conn.Close(); cn.Close(); } }
public static void NewDatabase() { //CComLibrary.GlobeVal.filesave.SampleDefaultName if (System.IO.Directory.Exists(Application.StartupPath + "\\mdb") == true) { System.IO.Directory.CreateDirectory(Application.StartupPath + "\\mdb"); } if (File.Exists(Application.StartupPath + "\\mdb\\" + CComLibrary.GlobeVal.filesave.methodname + ".mdb") == true) { File.Delete(Application.StartupPath + "\\mdb\\" + CComLibrary.GlobeVal.filesave.methodname + ".mdb"); } ADOX.Catalog catalog = new Catalog(); catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\mdb\\" + CComLibrary.GlobeVal.filesave.methodname + ".mdb;" + "Jet OLEDB:Engine Type=5"); ADODB.Connection cn = new ADODB.Connection(); cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\mdb\\" + CComLibrary.GlobeVal.filesave.methodname + ".mdb", null, null, -1); catalog.ActiveConnection = cn; ADOX.Table table = new ADOX.Table(); table.Name = "FirstTable"; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Name = "RecordId"; column.Type = DataTypeEnum.adInteger; column.DefinedSize = 9; column.Properties["AutoIncrement"].Value = true; table.Columns.Append(column, DataTypeEnum.adInteger, 9); table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); for (int i = 0; i < CComLibrary.GlobeVal.filesave.mdatabaseitemselect.Count; i++) { column = new ADOX.Column(); column.Name = CComLibrary.GlobeVal.filesave.mdatabaseitemselect[i].Name; column.Attributes = ColumnAttributesEnum.adColNullable; table.Columns.Append(column, DataTypeEnum.adVarWChar, 80); } // table.Columns.Append("CustomerName", DataTypeEnum.adVarWChar, 50); // table.Columns.Append("Age", DataTypeEnum.adInteger, 9); // table.Columns.Append("生日", DataTypeEnum.adVarWChar, 80); catalog.Tables.Append(table); cn.Close(); }
public void UpgradeDatabase() { var cat = new Catalog(); try { _myAccessConn.Open(); cat.ActiveConnection = _myAccessConn; var mytable = new ADOX.Table {Name = "tblCustomerSettings"}; var myColumn = new ADOX.Column { Name = "CustomerSettingID", Type = DataTypeEnum.adInteger, ParentCatalog = cat }; myColumn.Properties["Autoincrement"].Value = true; mytable.Columns.Append(myColumn); mytable.Columns.Append("CustomerID", DataTypeEnum.adInteger); mytable.Columns.Append("BillingMethodID", DataTypeEnum.adInteger); mytable.Columns.Append("MobileCarrierID",DataTypeEnum.adInteger); cat.Tables.Append(mytable); var mykey = new ADOX.Key { Name = "PrimaryKey", Type = KeyTypeEnum.adKeyPrimary, RelatedTable = "tblCustomerSettings" }; mykey.Columns.Append("CustomerSettingID"); cat.Tables["tblCustomerSettings"].Keys.Append(mykey); //Add data for new table InitializeCustomerSettings(_myAccessConn); //Upddate the Database Version UpdateDBVersion(_myAccessConn); foreach (Table tbl in cat.Tables) { var myname = tbl.Name; } } catch (Exception ex) { Console.WriteLine("Error: Failed to retrieve the required data from the DataBase.\n{0}", ex.Message); } finally { _myAccessConn.Close(); } }
private void Form1_Load(object sender, EventArgs e) { string str = System.Environment.CurrentDirectory; string dbName1 = str + "\\StudentManager.mdb";//注意扩展名必须为mdb,否则不能插入表 string dbName = @dbName1; ADOX.CatalogClass cat = new ADOX.CatalogClass(); try { cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName); } catch (System.Runtime.InteropServices.COMException) { } ADODB.Connection cn = new ADODB.Connection(); cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName, null, null, -1); cat.ActiveConnection = cn; //新建表 ADOX.Table table = new ADOX.Table(); table.Name = "students"; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = cat; column.Type = ADOX.DataTypeEnum.adVarWChar; // 必须先设置字段类型 column.Name = "ID"; column.DefinedSize = 50; column.Properties["AutoIncrement"].Value = true; table.Columns.Append(column, DataTypeEnum.adVarWChar, 50); //设置主键 table.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "ID", "", ""); table.Columns.Append("Name", DataTypeEnum.adVarWChar, 50); table.Columns.Append("Sex", DataTypeEnum.adVarWChar, 50); table.Columns.Append("Class", DataTypeEnum.adVarWChar, 50); table.Columns.Append("Email", DataTypeEnum.adVarWChar, 50); table.Columns.Append("Chinese", DataTypeEnum.adVarWChar, 50); table.Columns.Append("Math", DataTypeEnum.adVarWChar, 50); table.Columns.Append("English", DataTypeEnum.adVarWChar, 50); try { cat.Tables.Append(table); } catch (Exception ex) { Console.WriteLine("111"); } //此处一定要关闭连接,否则添加数据时候会出错 table = null; cat = null; Application.DoEvents(); cn.Close(); }
static void SetTable(IRow header, IRow dataType, IRow desc, string tableName, ADODB.Connection cn,DataTable dt) { Catalog catalog = new Catalog(); catalog.ActiveConnection = cn; ADOX.Table table = new ADOX.Table(); table.Name = tableName; UpdateFieldsData(header, dataType, desc, table,dt); ADOX.Column column = table.Columns[header.Cells[0].StringCellValue]; column.ParentCatalog = catalog; table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); catalog.Tables.Append(table); }
public MainWindow() { InitializeComponent(); //创建mdb文件 ADOX.Catalog catalog = new Catalog(); string filePath = "D:\\test.mdb"; if (!File.Exists(filePath)) { try { catalog.Create("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath); //catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+filePath); //创建表 ADODB.Connection cn = new ADODB.Connection(); //cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath, null, null, -1); cn.Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filePath, null, null, -1); catalog.ActiveConnection = cn; ADOX.Table table = new ADOX.Table(); //创建表 table.Name = "result"; //创建列 ADOX.Column column = new ADOX.Column(); //ParentCatalog,指定表、用户或列对象的父目录,以提供对特定于访问接口的属性的访问。 column.ParentCatalog = catalog; column.Name = "id"; column.Type = DataTypeEnum.adInteger; column.DefinedSize = 9; //属性为自增,每次追加自动增加 column.Properties["AutoIncrement"].Value = true; table.Columns.Append(column, DataTypeEnum.adInteger, 9); table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); table.Columns.Append("input", DataTypeEnum.adBigInt, 50); table.Columns.Append("sum", DataTypeEnum.adBigInt, 50); catalog.Tables.Append(table); } catch (System.Exception e) { MessageBox.Show(e.ToString()); } } }
/// <summary> /// 建立 优惠劵 数据库 /// </summary> public static void Coupons_InitDataBase() { // string sqlstr = "INSERT INTO WX_Coupons(CUserName, CUserPhone, CUserqq, WXOpenID) VALUES (N'" + CUserName + "',N'" + CUserPhone + "',N'" + CUserqq + "',N'" + Session["WXOpenID"] + "')"; string PathDataBase = System.IO.Path.Combine(SYSTEMDIR, "USER_DIR\\SYSUSER\\Coupons\\db.dll");//"USER_DIR\\SYSUSER\\SYSSET\\" + if (System.IO.File.Exists(PathDataBase) == true ) { return; } try { ADOX.Catalog catalog = new Catalog(); catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + PathDataBase + ";Jet OLEDB:Engine Type=5"); ADODB.Connection cn = new ADODB.Connection(); cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + PathDataBase, null, null, -1); catalog.ActiveConnection = cn; if (true) { ADOX.Table table = new ADOX.Table(); table.Name = "WX_Coupons"; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Name = "WXOpenID"; column.Type = DataTypeEnum.adInteger; column.DefinedSize = 7; column.Properties["AutoIncrement"].Value = true; table.Columns.Append(column, DataTypeEnum.adInteger, 7); table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); // string sqlstr = "INSERT INTO WX_Coupons(CUserName, CUserPhone, CUserqq, WXOpenID) VALUES (N'" + CUserName + "',N'" + CUserPhone + "',N'" + CUserqq + "',N'" + Session["WXOpenID"] + "')"; table.Columns.Append("CUserName", DataTypeEnum.adVarWChar, 200); table.Columns.Append("CUserPhone", DataTypeEnum.adVarWChar, 200); table.Columns.Append("CUserqq", DataTypeEnum.adVarWChar, 200); catalog.Tables.Append(table); } cn.Close(); } catch { } }
private Boolean CreateJZDB(String conn) { ADOX.Catalog catalog = new Catalog(); ADOX.Table table = null; ADODB.Connection cn = new ADODB.Connection(); Boolean flag = false; try { catalog.Create(conn); cn.Open(conn, null, null, -1); catalog.ActiveConnection = cn; //新建表 table = new ADOX.Table(); table.Name = "sys_update"; table.ParentCatalog = catalog; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Type = DataTypeEnum.adVarWChar; column.Name = "ID"; table.Columns.Append(column, DataTypeEnum.adVarWChar, 36); //设置主键 table.Keys.Append("PrimaryKey", KeyTypeEnum.adKeyPrimary, "ID", "", ""); table.Columns.Append("FileName", DataTypeEnum.adVarWChar, 50); table.Columns.Append("FileType", DataTypeEnum.adSmallInt, 9); table.Columns.Append("CreatedServerTime", DataTypeEnum.adVarWChar, 50); table.Columns.Append("FileState", DataTypeEnum.adSmallInt, 9); catalog.Tables.Append(table); flag = true; } catch (Exception ex) { logger.Error(ex.Message); } finally { table = null; catalog = null; cn.Close(); } return(flag); }
void CreateTable(T entity, Catalog catalog) { ADODB.Connection cn = new ADODB.Connection(); cn.Open(strConnection, null, null, -1); catalog.ActiveConnection = cn; Table table = new Table(); var DI = ClassPropertyHelper.GetPropertyNameAndValue <T>(entity); var DIT = ClassPropertyHelper.GetPropertyNameAndType <T>(entity); table.Name = ClassPropertyHelper.GetClassName <T>(entity); for (int i = 0; i < DI.Count; i++) { if (DI.ElementAt(i).Key == "ID") { ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Name = "ID"; column.Type = DataTypeEnum.adInteger; column.DefinedSize = 32; column.Properties["AutoIncrement"].Value = true; table.Columns.Append(column, DataTypeEnum.adInteger, 32); table.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "ID", "", ""); } else { table.Columns.Append(DI.ElementAt(i).Key, ConverType(DIT.ElementAt(i).Value), 64); } } try { catalog.Tables.Append(table); } catch (Exception ex) { //MessageBox.Show("OleHelper行号92:" + ex.Message); } finally { cn.Close(); } }
public static void CreatAccessDatabase(string Address) { root = S_AccessConnection_1 + Address + S_AccessConnection_2; ADOX.CatalogClass catalog = new ADOX.CatalogClass(); try { #region Create Access Database //Creat Access if (System.IO.File.Exists(@Address)) { System.IO.File.Delete(Address); } catalog.Create(S_AccessConnection_1 + Address + S_AccessConnection_2); #region Create Stock Table for Access Database TableClass Test_Script = new TableClass(); Test_Script.ParentCatalog = catalog; Test_Script.Name = "Auto_Test_Script"; #region Create & Add Member in this Table Column st_column = new ADOX.Column(); st_column.ParentCatalog = catalog; st_column.Name = "Record_ID"; st_column.Type = DataTypeEnum.adInteger; st_column.DefinedSize = 9; st_column.Properties["AutoIncrement"].Value = true; Test_Script.Columns.Append(st_column, DataTypeEnum.adInteger, 9); Test_Script.Keys.Append("PrimaryKey", KeyTypeEnum.adKeyPrimary, st_column, null, null); Column st_column1 = new Column(); st_column1.ParentCatalog = catalog; st_column1.Name = "Drive_Front"; st_column1.Type = DataTypeEnum.adInteger; st_column1.DefinedSize = 9; Test_Script.Columns.Append(st_column1, DataTypeEnum.adInteger, 9); Column st_column2 = new Column(); st_column2.ParentCatalog = catalog; st_column2.Name = "Passenger_Front"; st_column2.Type = DataTypeEnum.adInteger; st_column2.DefinedSize = 9; Test_Script.Columns.Append(st_column2, DataTypeEnum.adInteger, 9); Column st_column3 = new Column(); st_column3.ParentCatalog = catalog; st_column3.Name = "Left_Rear"; st_column3.Type = DataTypeEnum.adInteger; st_column3.DefinedSize = 9; Test_Script.Columns.Append(st_column3, DataTypeEnum.adInteger, 9); Column st_column4 = new Column(); st_column4.ParentCatalog = catalog; st_column4.Name = "Right_Rear"; st_column4.Type = DataTypeEnum.adInteger; st_column4.DefinedSize = 9; Test_Script.Columns.Append(st_column4, DataTypeEnum.adInteger, 9); Column st_column5 = new Column(); st_column5.ParentCatalog = catalog; st_column5.Name = "Sound_Priority"; st_column5.Type = DataTypeEnum.adInteger; st_column5.DefinedSize = 9; Test_Script.Columns.Append(st_column5, DataTypeEnum.adInteger, 9); Column st_column6 = new Column(); st_column6.ParentCatalog = catalog; st_column6.Name = "Sound_Duty_Cycle"; st_column6.Type = DataTypeEnum.adInteger; st_column6.DefinedSize = 9; Test_Script.Columns.Append(st_column6, DataTypeEnum.adInteger, 9); Column st_column7 = new Column(); st_column7.ParentCatalog = catalog; st_column7.Name = "Sound_Cadence_Period"; st_column7.Type = DataTypeEnum.adInteger; st_column7.DefinedSize = 9; Test_Script.Columns.Append(st_column7, DataTypeEnum.adInteger, 9); Column st_column8 = new Column(); st_column8.ParentCatalog = catalog; st_column8.Name = "Number_of_Repetitions"; st_column8.Type = DataTypeEnum.adInteger; st_column8.DefinedSize = 9; Test_Script.Columns.Append(st_column8, DataTypeEnum.adInteger, 9); Column st_column9 = new Column(); st_column9.ParentCatalog = catalog; st_column9.Name = "Sound_Tone"; st_column9.Type = DataTypeEnum.adInteger; st_column9.DefinedSize = 9; Test_Script.Columns.Append(st_column9, DataTypeEnum.adInteger, 9); Column st_column10 = new Column(); st_column10.ParentCatalog = catalog; st_column10.Name = "Sleep"; st_column10.Type = DataTypeEnum.adInteger; st_column10.DefinedSize = 9; Test_Script.Columns.Append(st_column10, DataTypeEnum.adInteger, 9); #endregion catalog.Tables.Append(Test_Script); #endregion //Release System.Runtime.InteropServices.Marshal.ReleaseComObject(Test_Script); Test_Script = null; #endregion } finally { System.Runtime.InteropServices.Marshal.FinalReleaseComObject(catalog.ActiveConnection); System.Runtime.InteropServices.Marshal.FinalReleaseComObject(catalog); catalog = null; System.GC.WaitForPendingFinalizers(); System.GC.Collect(); } }
private void CreatetableButton_Click(object sender, EventArgs e) { String mytablename = TableName.Text.Trim(); String columnames = Colums.Text.Trim(); if (string.IsNullOrWhiteSpace(mytablename)) { tablenametips.Text = "表名不能为空"; tablenametips.ForeColor = Color.Red; return; } if (MyDataSet.GetTableNameList().Contains(mytablename)) { tablenametips.Text = "表名已存在,请更换"; tablenametips.ForeColor = Color.Red; return; } if (string.IsNullOrWhiteSpace(columnames)) { tablenametips.Text = "字段名不能为空"; tablenametips.ForeColor = Color.Red; return; } freshCreateTable(); string[] mycolums = columnames.Split(','); string s = "表名为:" + mytablename + "\r\n包含字段有: "; for (int i = 0; i < mycolums.Length; i++) { s += (i + 1) + " : " + mycolums[i] + ", "; } s += "是否确认建表?"; DialogResult result = MessageBox.Show(s, "确认健表", MessageBoxButtons.OKCancel, MessageBoxIcon.Question); if (result == DialogResult.OK) { ADOX.Column[] columns = new ADOX.Column[mycolums.Length + 2]; columns[0] = new ADOX.Column() { Name = "id", Type = DataTypeEnum.adInteger, DefinedSize = 9 }; for (int i = 0; i < mycolums.Length; i++) { columns[i + 1] = new ADOX.Column() { Name = mycolums[i], Type = DataTypeEnum.adLongVarWChar, DefinedSize = 500 }; } columns[mycolums.Length + 1] = new ADOX.Column() { Name = "importfilename", Type = DataTypeEnum.adLongVarWChar, DefinedSize = 500 }; bool flag = AccessDbHelper.CreateAccessTable(System.Environment.CurrentDirectory + "\\All.mdb", mytablename, columns); if (flag) { MessageBox.Show("建表成功"); CreatemMatchFile(mytablename); freshTableList(); freshTableTree(); } else { MessageBox.Show("建表失败"); } } }
//Create Access Database public static void CreatAccessDatabase(string Password) { ADOX.CatalogClass catalog = new ADOX.CatalogClass(); try { #region Create Access Database //Creat Access catalog.Create(S_AccessConnection_1 + S_AccessConnection_2); #region Create Stock Table for Access Database TableClass Stock_Table = new TableClass(); Stock_Table.ParentCatalog = catalog; Stock_Table.Name = "Script_Data"; #region Create & Add Member in this Table Column st_column = new ADOX.Column(); st_column.ParentCatalog = catalog; st_column.Name = "Record_ID"; st_column.Type = DataTypeEnum.adInteger; st_column.DefinedSize = 9; st_column.Properties["AutoIncrement"].Value = true; Stock_Table.Columns.Append(st_column, DataTypeEnum.adInteger, 9); Stock_Table.Keys.Append("PrimaryKey", KeyTypeEnum.adKeyPrimary, st_column, null, null); Column st_column1 = new Column(); st_column1.ParentCatalog = catalog; st_column1.Name = "Drive_Front"; st_column1.Type = DataTypeEnum.adVarWChar; st_column1.DefinedSize = 255; st_column1.Properties["Jet OLEDB:Allow Zero Length"].Value = true; Stock_Table.Columns.Append(st_column1, DataTypeEnum.adVarWChar, 255); Column st_column2 = new Column(); st_column2.ParentCatalog = catalog; st_column2.Name = "Passenger_Front"; st_column2.Type = DataTypeEnum.adVarWChar; st_column2.DefinedSize = 255; st_column2.Properties["Jet OLEDB:Allow Zero Length"].Value = true; Stock_Table.Columns.Append(st_column2, DataTypeEnum.adVarWChar, 255); Column st_column3 = new Column(); st_column3.ParentCatalog = catalog; st_column3.Name = "Left_Rear"; st_column3.Type = DataTypeEnum.adVarWChar; st_column3.DefinedSize = 255; st_column3.Properties["Jet OLEDB:Allow Zero Length"].Value = true; Stock_Table.Columns.Append(st_column3, DataTypeEnum.adVarWChar, 255); Column st_column4 = new Column(); st_column4.ParentCatalog = catalog; st_column4.Name = "Right_Rear"; st_column4.Type = DataTypeEnum.adVarWChar; st_column4.DefinedSize = 255; st_column4.Properties["Jet OLEDB:Allow Zero Length"].Value = true; Stock_Table.Columns.Append(st_column4, DataTypeEnum.adVarWChar, 255); Column st_column5 = new Column(); st_column5.ParentCatalog = catalog; st_column5.Name = "Sound_Priority"; st_column5.Type = DataTypeEnum.adInteger; st_column5.DefinedSize = 9; Stock_Table.Columns.Append(st_column5, DataTypeEnum.adInteger, 9); Column st_column6 = new Column(); st_column6.ParentCatalog = catalog; st_column6.Name = "Sound_Duty_Cycle"; st_column6.Type = DataTypeEnum.adVarWChar; st_column6.DefinedSize = 255; st_column6.Properties["Jet OLEDB:Allow Zero Length"].Value = true; Stock_Table.Columns.Append(st_column6, DataTypeEnum.adVarWChar, 255); Column st_column7 = new Column(); st_column7.ParentCatalog = catalog; st_column7.Name = "Sound_Cadence_Period"; st_column7.Type = DataTypeEnum.adDouble; st_column7.DefinedSize = 9; Stock_Table.Columns.Append(st_column7, DataTypeEnum.adDouble, 9); Column st_column8 = new Column(); st_column8.ParentCatalog = catalog; st_column8.Name = "Number_of_Repetitions"; st_column8.Type = DataTypeEnum.adDouble; st_column8.DefinedSize = 9; Stock_Table.Columns.Append(st_column8, DataTypeEnum.adDouble, 9); Column st_column9 = new Column(); st_column9.ParentCatalog = catalog; st_column9.Name = "Sound_Tone"; st_column9.Type = DataTypeEnum.adDouble; st_column9.DefinedSize = 9; Stock_Table.Columns.Append(st_column9, DataTypeEnum.adDouble, 9); Column st_cloumn10 = new Column(); st_cloumn10.ParentCatalog = catalog; st_cloumn10.Name = "Sleep"; st_cloumn10.Type = DataTypeEnum.adVarWChar; st_cloumn10.DefinedSize = 255; st_cloumn10.Properties["Jet OLEDB:Allow Zero Length"].Value = true; Stock_Table.Columns.Append(st_cloumn10, DataTypeEnum.adVarWChar, 255); #endregion catalog.Tables.Append(Stock_Table); #endregion //Release System.Runtime.InteropServices.Marshal.ReleaseComObject(Stock_Table); Stock_Table = null; #endregion } catch (Exception ex) { //MainForm.Access_Result = ex.Message.ToString(); } finally { System.Runtime.InteropServices.Marshal.FinalReleaseComObject(catalog.ActiveConnection); System.Runtime.InteropServices.Marshal.FinalReleaseComObject(catalog); catalog = null; System.GC.WaitForPendingFinalizers(); System.GC.Collect(); } }
public static void CreatHDateTable(string strTableName) { List <string> listColumns = new List <string>(); listColumns.Add("Test_Psernum"); listColumns.Add("Bott_Amount"); listColumns.Add("Dilu_Mult"); listColumns.Add("CodeType"); listColumns.Add("CodeName"); listColumns.Add("Test_StartDt"); listColumns.Add("Test_EndDt"); listColumns.Add("Test_OprationName"); listColumns.Add("Channlesum"); listColumns.Add("OnlinestFlag"); listColumns.Add("AveTOCValue"); listColumns.Add("AveTCValue"); listColumns.Add("AveConduct"); listColumns.Add("LsampleNum"); listColumns.Add("Htest_testimes"); listColumns.Add("Start_Bott"); listColumns.Add("SampleWay"); listColumns.Add("Htest_sum"); string strConnection = "..\\..\\mdb\\HistoryData.mdb"; ADOX.Catalog catalog = new Catalog(); ADODB.Connection cn = new ADODB.Connection(); strConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + strConnection; OleDbConnection conn = new OleDbConnection(strConnection); try { conn.Open(); cn.Open(strConnection, null, null, -1); catalog.ActiveConnection = cn; if (string.IsNullOrEmpty(strTableName)) { loghelp.log.Error("表名不能为空!"); return; } bool flag = db.dbutils.GetTables(conn, strTableName); if (!flag)//判断表名是否存在 { ADOX.Table table = new ADOX.Table(); table.Name = strTableName; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Name = "id"; column.Type = ADOX.DataTypeEnum.adInteger; column.DefinedSize = 50; column.Properties["AutoIncrement"].Value = false; table.Columns.Append(column, DataTypeEnum.adInteger, 50); table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); foreach (string strColumns in listColumns) { table.Columns.Append(strColumns, DataTypeEnum.adVarWChar, 50); table.Columns[strColumns].Attributes = ColumnAttributesEnum.adColNullable; } table.Columns.Append("TOCValue", DataTypeEnum.adLongVarWChar, 1000); table.Columns["TOCValue"].Attributes = ColumnAttributesEnum.adColNullable; table.Columns.Append("TCValue", DataTypeEnum.adLongVarWChar, 1000); table.Columns["TCValue"].Attributes = ColumnAttributesEnum.adColNullable; table.Columns.Append("Conduct", DataTypeEnum.adLongVarWChar, 1000); table.Columns["Conduct"].Attributes = ColumnAttributesEnum.adColNullable; catalog.Tables.Append(table); //此处一定要关闭连接,否则添加数据时候会出错 table = null; catalog = null; } } catch (Exception ex) { loghelp.log.Fatal(ex.Message, ex); } finally { conn.Close(); cn.Close(); } }
public bool CreateTable(IFeatureClass featureClass) { try { ADOX.Catalog catalog = new ADOX.Catalog(); //创建链接 ADODB.Connection cn = new ADODB.Connection(); //打开 cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + DbPath, null, null, -1); //激活链接 catalog.ActiveConnection = cn; //创建表 ADOX.Table table = new ADOX.Table(); table.Name = featureClass.AliasName; //创建列 ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; //列名称 column.Name = featureClass.OIDFieldName; //列类型 column.Type = DataTypeEnum.adInteger; //默认长度 column.DefinedSize = 9; //自动增长列 column.Properties["AutoIncrement"].Value = true; //将列添加到表中 table.Columns.Append(column, DataTypeEnum.adInteger, 9); //第一列为主键 table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); for (int i = 0; i < featureClass.Fields.FieldCount; i++) { IField field = featureClass.Fields.Field[i]; if (field.Type == esriFieldType.esriFieldTypeOID) { continue; } ADOX.Column newColumn = new ADOX.Column(); newColumn.ParentCatalog = catalog; newColumn.Name = field.Name; newColumn.Type = ConvertToDataTypeEnum(field.Type); if (field.Type == esriFieldType.esriFieldTypeGeometry || field.Type == esriFieldType.esriFieldTypeBlob || field.Type == esriFieldType.esriFieldTypeRaster) { newColumn.DefinedSize = 255; } else if (field.Type != esriFieldType.esriFieldTypeXML) { newColumn.DefinedSize = field.Length; } newColumn.Properties[3].Value = true; table.Columns.Append(newColumn, ConvertToDataTypeEnum(field.Type), field.Length); } catalog.Tables.Append(table); cn.Close(); return(true); } catch (Exception ex) { _strErrorInfo = ex.Message; return(false); } }
private ADOX.Table CreateTable(ADOX.CatalogClass cat, ADOX.Table parentTable, string tableName, List <MappingColumn> columns, bool createIndex) { var newTable = new ADOX.Table(); newTable.Name = tableName; var idCol = new ADOX.Column(); idCol.Name = "id"; idCol.Type = DataTypeEnum.adInteger; idCol.ParentCatalog = cat; idCol.Properties["AutoIncrement"].Value = true; newTable.Columns.Append(idCol); newTable.Keys.Append(tableName + "PK", KeyTypeEnum.adKeyPrimary, "id"); if (tableName == config.TableName) { var fileNameCol = new ADOX.Column(); fileNameCol.Name = "fileName"; fileNameCol.Type = DataTypeEnum.adVarWChar; fileNameCol.ParentCatalog = cat; newTable.Columns.Append(fileNameCol); } if (parentTable != null) { newTable.Columns.Append(parentTable.Name + "Id", DataTypeEnum.adInteger); if (createIndex) { newTable.Keys.Append(tableName + "FKey", KeyTypeEnum.adKeyForeign, parentTable.Name + "Id", parentTable.Name, "id"); } } List <string> columnNames = new List <string>(); foreach (var groupColumnConfig in columns) { if (columnNames.Contains(groupColumnConfig.Name)) { Log(string.Format("Column {0} is a duplicated (occurs more than once)\r\n", groupColumnConfig.Name)); } else { columnNames.Add(groupColumnConfig.Name); } if (groupColumnConfig.Name.ToLower() == "id") { Log("Column name \"id\" in table " + tableName + " is reserved for used. Please rename the column in the config.\r\n"); } if (parentTable != null && groupColumnConfig.Name.ToLower() == parentTable.Name.ToLower() + "id") { Log("Column name \"" + parentTable.Name + "Id\" is reserved for use. Please rename the column in the config.\r\n"); } var newCol = new ADOX.Column(); newCol.Name = groupColumnConfig.Name; newCol.Type = DataTypeEnum.adVarWChar; if (groupColumnConfig.IsNarrative) { newCol.Type = DataTypeEnum.adLongVarWChar; } newCol.ParentCatalog = cat; newCol.Attributes = ColumnAttributesEnum.adColNullable; newTable.Columns.Append(newCol); } cat.Tables.Append(newTable); return(newTable); }
private bool createSchema() { bool result = false; string strMsg = ""; OleDbConnection conn; ADODB.Connection adodbCon = new ADODB.Connection(); adodbCon.ConnectionString = connString; ADOX.Catalog cat = new ADOX.Catalog(); ADOX.Table tab; try { DirectoryInfo dir = new DirectoryInfo($@"{Path.GetDirectoryName(txtPathToArc.Text)}\unarc"); FileInfo[] filesH = dir.GetFiles("H*.xml"); if (filesH.Length == 0) { strMsg = "Файлы для обработки отсутствуют"; MessageBox.Show(strMsg); txtLog.AppendLine(strMsg); return(result); } foreach (FileInfo fi in filesH) { DataSet ds = new DataSet(); ds.ReadXmlSchema(fi.FullName); foreach (string tableName in tableListH) { if (ds.Tables.Contains(tableName)) { DataTable dt = ds.Tables[tableName]; foreach (DataColumn dc in dt.Columns) { if (!addFieldsH[tableName].Contains(dc.ColumnName)) { addFieldsH[tableName].Add(dc.ColumnName); } } } } } adodbCon.Open(); cat.ActiveConnection = adodbCon; conn = new OleDbConnection(connString); if (conn.State == ConnectionState.Closed) { conn.Open(); } txtLog.AppendLine("Создание структуры БД"); Application.DoEvents(); string postFix = ""; if (rbTypeTo.Checked) { postFix = "rokb"; } foreach (string tabName in tableListH) { tab = new ADOX.Table(); tab.Name = $"{tabName}{postFix}"; //id ADOX.Column column = new ADOX.Column(); column.Name = "id"; column.Type = ADOX.DataTypeEnum.adInteger; column.ParentCatalog = cat; column.Properties["AutoIncrement"].Value = true; tab.Columns.Append(column); foreach (string str in addFieldsH[tabName]) { tab.Columns.Append(defCol(str)); } cat.Tables.Append(tab); } //L FileInfo[] filesL = dir.GetFiles("L*.xml"); if (filesL.Length == 0) { strMsg = "Файлы для обработки отсутствуют"; MessageBox.Show(strMsg); txtLog.AppendLine(strMsg); return(result); } foreach (FileInfo fi in filesL) { DataSet ds = new DataSet(); ds.ReadXmlSchema(fi.FullName); foreach (string tableName in tableListL) { if (ds.Tables.Contains(tableName)) { DataTable dt = ds.Tables[tableName]; foreach (DataColumn dc in dt.Columns) { if (!addFieldsL[tableName].Contains(dc.ColumnName)) { addFieldsL[tableName].Add(dc.ColumnName); } } } } } foreach (string tabName in tableListL) { tab = new ADOX.Table(); tab.Name = $"{tabName}{postFix}"; //id ADOX.Column column = new ADOX.Column(); column.Name = "id"; column.Type = ADOX.DataTypeEnum.adInteger; column.ParentCatalog = cat; column.Properties["AutoIncrement"].Value = true; tab.Columns.Append(column); foreach (string str in addFieldsL[tabName]) { tab.Columns.Append(defCol(str)); } cat.Tables.Append(tab); } if (conn.State == ConnectionState.Open) { conn.Close(); } strMsg = "Структура БД создана"; txtLog.AppendLine(strMsg); result = true; } catch (Exception ex) { MessageBox.Show(ex.Message); } return(result); }
//保存数据 private void CreateDataTable() { startTime = DateTime.Now.Year.ToString() + "-" + DateTime.Now.Month.ToString() + "-" + DateTime.Now.Day.ToString() + "-" + DateTime.Now.Hour.ToString() + "-" + DateTime.Now.Minute.ToString() + "-" + DateTime.Now.Second.ToString(); ADOX.Catalog catalog = new Catalog(); string tableName = startTime; string myDataPath = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + "D:\\Data\\" + tableName + ".mdb"; myConnectionString = myDataPath; catalog.Create(myDataPath + ";Jet OLEDB:Engine Type=5"); ADODB.Connection connection = new ADODB.Connection(); connection.Open(myDataPath, null, null, -1); catalog.ActiveConnection = connection; ADOX.Table table = new ADOX.Table(); table.Name = "Data"; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Name = "Num_My"; column.Type = DataTypeEnum.adInteger; column.DefinedSize = 9; column.Properties["AutoIncrement"].Value = true; table.Columns.Append(column, DataTypeEnum.adInteger, 12); table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); table.Columns.Append("Date", DataTypeEnum.adDate, 20); table.Columns.Append("Position", DataTypeEnum.adSingle, 9); catalog.Tables.Append(table); }
void CreateNuronbc(string UserName) { try { if (Directory.Exists("..\\..\\DataBase") == false)//如果不存在就创建file文件夹 { Directory.CreateDirectory("..\\..\\DataBase"); } string DeviceConcatenateParameterMDB = "..\\..\\DataBase\\DeviceConcatenateParameter.mdb"; if (!File.Exists(DeviceConcatenateParameterMDB)) //判断是否存在数据库,不存在,则创建 { ADOX.Catalog catalog = new Catalog(); catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=..\\..\\DataBase\\DeviceConcatenateParameter.mdb;Jet OLEDB:Engine Type=5"); } ADOX.Catalog mCatalog = new Catalog(); ADODB.Connection cn = new ADODB.Connection(); string sAccessConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=..\\..\\DataBase\\DeviceConcatenateParameter.mdb"; mConnection = new OleDbConnection(sAccessConnection); mConnection.Open(); cn.Open(sAccessConnection, null, null, -1); mCatalog.ActiveConnection = cn; Main mMain = new Main(); bool flag = mMain.GetTables(mConnection, "UserInfo"); if (!flag)//判断表名是否存在 { ADOX.Table table = new ADOX.Table(); table.Name = "UserInfo"; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = mCatalog; column.Name = "UserNameInfo"; column.Type = DataTypeEnum.adWChar; column.DefinedSize = 35; column.Properties["AutoIncrement"].Value = false; column.Properties["Jet OLEDB:Allow Zero Length"].Value = true; table.Columns.Append(column, DataTypeEnum.adWChar, 35); table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); table.Columns.Append("PwdInfo", DataTypeEnum.adWChar, 35); table.Columns["PwdInfo"].Attributes = ColumnAttributesEnum.adColNullable; table.Columns.Append("LevelInfo", DataTypeEnum.adWChar, 15); table.Columns["LevelInfo"].Attributes = ColumnAttributesEnum.adColNullable; try { mCatalog.Tables.Append(table); } catch (Exception ex) { MessageBox.Show(ex.Message); } //此处一定要关闭连接,否则添加数据时候会出错 table = null; mCatalog = null; Application.DoEvents(); } mConnection.Close(); cn.Close(); string mUserName = UserName; string mPwd = UserName; string Level = "2"; byte[] result = Encoding.Default.GetBytes(mPwd.Trim()); //mPwd为输入By Detectingword MD5 md5 = new MD5CryptoServiceProvider(); byte[] output = md5.ComputeHash(result); string Pwd = BitConverter.ToString(output).Replace("-", ""); //Pwd为输出加密文本 if (!string.IsNullOrEmpty(mUserName)) { try { string TableName = "UserInfo"; string mSelectQuery = "Select * From {0} where [UserNameInfo]='" + mUserName + "'"; mSelectQuery = string.Format(mSelectQuery, TableName); mConnectionDeviceConcatenateParameterS = new OleDbConnection(sAccessConnectionDeviceConcatenateParameterS); mConnectionDeviceConcatenateParameterS.Open(); OleDbCommand mCmd = new OleDbCommand(mSelectQuery, mConnectionDeviceConcatenateParameterS); OleDbDataReader reader = mCmd.ExecuteReader(); if (!reader.Read()) { mflag = 1; } reader.Close(); mConnectionDeviceConcatenateParameterS.Close(); } catch (Exception ex) { MessageBox.Show("Exception:" + ex.ToString(), "Tips"); } } if (mflag == 1) { string mQuery = String.Format("insert into UserInfo ([UserNameInfo],[PwdInfo],[LevelInfo]) values ('{0}','{1}','{2}')", mUserName, Pwd, Level); mConnectionDeviceConcatenateParameter = new OleDbConnection(sAccessConnectionDeviceConcatenateParameter); OleDbCommand da = new OleDbCommand(mQuery, mConnectionDeviceConcatenateParameter); // try { mConnectionDeviceConcatenateParameter.Open(); da.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show("Exception:" + ex.ToString(), "Tips"); } finally { mflag = 0; mConnectionDeviceConcatenateParameter.Close(); } } } catch (Exception ex) { MessageBox.Show("Exception:" + ex.ToString(), "Tips"); } }
private void button1_Click(object sender, EventArgs e) { button1.Enabled = false; if (System.IO.Directory.Exists(Application.StartupPath + "\\mdb") == true) { System.IO.Directory.CreateDirectory(Application.StartupPath + "\\mdb"); } if (File.Exists(Application.StartupPath + "\\mdb\\" + CComLibrary.GlobeVal.filesave.methodname + ".mdb") == true) { File.Delete(Application.StartupPath + "\\mdb\\" + CComLibrary.GlobeVal.filesave.methodname + ".mdb"); } ADOX.Catalog catalog = new Catalog(); catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\mdb\\" + CComLibrary.GlobeVal.filesave.methodname + ".mdb;" + "Jet OLEDB:Engine Type=5"); ADODB.Connection cn = new ADODB.Connection(); cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\mdb\\" + CComLibrary.GlobeVal.filesave.methodname + ".mdb", null, null, -1); catalog.ActiveConnection = cn; ADOX.Table table = new ADOX.Table(); table.Name = "FirstTable"; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Name = "RecordId"; column.Type = DataTypeEnum.adInteger; column.DefinedSize = 9; column.Properties["AutoIncrement"].Value = true; table.Columns.Append(column, DataTypeEnum.adInteger, 9); table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); for (int i = 0; i < CComLibrary.GlobeVal.filesave.mdatabaseitemselect.Count; i++) { column = new ADOX.Column(); column.Name = CComLibrary.GlobeVal.filesave.mdatabaseitemselect[i].Name; column.Attributes = ColumnAttributesEnum.adColNullable; table.Columns.Append(column, DataTypeEnum.adVarWChar, 80); } // table.Columns.Append("CustomerName", DataTypeEnum.adVarWChar, 50); // table.Columns.Append("Age", DataTypeEnum.adInteger, 9); // table.Columns.Append("生日", DataTypeEnum.adVarWChar, 80); catalog.Tables.Append(table); ADODB.Recordset rs; rs = new ADODB.Recordset(); rs.LockType = ADODB.LockTypeEnum.adLockPessimistic; rs.CursorType = ADODB.CursorTypeEnum.adOpenDynamic; string sql = "select * from FirstTable"; rs.Open(sql, cn, ADODB.CursorTypeEnum.adOpenKeyset, ADODB.LockTypeEnum.adLockOptimistic, (int)ADODB.CommandTypeEnum.adCmdText); // rs.MoveFirst(); /* * for (int i=0;i<1;i++) * { * * * object missing = System.Reflection.Missing.Value; * rs.AddNew(missing, missing); * * rs.Fields["RecordId"].Value = i; * * for (int j = 0; j < CComLibrary.GlobeVal.filesave.mdatabaseitemselect.Count; j++) * { * rs.Fields[j+1].Value = CComLibrary.GlobeVal.filesave.mdatabaseitemselect[j].Value; * * } * * * rs.Update(); * } */ rs.Close(); cn.Close(); button1.Enabled = true; }
/// <summary> /// 建立 大转盘 数据库 /// </summary> public static void Turntable_InitDataBase() { string PathDataBase = System.IO.Path.Combine(SYSTEMDIR, "USER_DIR\\SYSUSER\\Turntable\\db.dll");//"USER_DIR\\SYSUSER\\SYSSET\\" + if (System.IO.File.Exists(PathDataBase) == true) { return; } try { ADOX.Catalog catalog = new Catalog(); catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + PathDataBase + ";Jet OLEDB:Engine Type=5"); ADODB.Connection cn = new ADODB.Connection(); cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + PathDataBase, null, null, -1); catalog.ActiveConnection = cn; // string Data1 = "CREATE TABLE WX_GGK( \r\n"; // Data1 += "ID int IDENTITY(1,1) NOT NULL,\r\n"; // Data1 += "Name nvarchar(200) NULL,\r\n"; // Data1 += "Cs int NULL\r\n"; // Data1 += ") ON PRIMARY\r\n"; // Data1 += "CREATE TABLE WX_GGK_JP(\r\n"; //Data1 += "ID int IDENTITY(1,1) NOT NULL,\r\n"; //Data1 += "Name nvarchar(200) NULL,\r\n"; //Data1 += "Jp nvarchar(50) NULL,\r\n"; //Data1 += "SJH nvarchar(50) NULL\r\n"; //Data1 += ") ON PRIMARY\r\n"; // object dummy = Type.Missing; // cn.Execute(Data1, out dummy, 0); if (true) { ADOX.Table table = new ADOX.Table(); table.Name = "wx_dzp"; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Name = "ID"; column.Type = DataTypeEnum.adInteger; column.DefinedSize = 7; column.Properties["AutoIncrement"].Value = true; table.Columns.Append(column, DataTypeEnum.adInteger, 7); table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); table.Columns.Append("Name", DataTypeEnum.adVarWChar, 200); table.Columns.Append("Cs", DataTypeEnum.adInteger, 7); catalog.Tables.Append(table); } if (true) { ADOX.Table table = new ADOX.Table(); table.Name = "wx_dzp_jp"; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Name = "ID"; column.Type = DataTypeEnum.adInteger; column.DefinedSize = 7; column.Properties["AutoIncrement"].Value = true; table.Columns.Append(column, DataTypeEnum.adInteger, 7); table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); table.Columns.Append("Name", DataTypeEnum.adVarWChar, 200); table.Columns.Append("Jp", DataTypeEnum.adVarWChar, 200); table.Columns.Append("SJH", DataTypeEnum.adVarWChar, 200); catalog.Tables.Append(table); } cn.Close(); } catch { } }
/// <summary> /// 建基本泡点测试启动测试数据表 /// </summary> public void CreatDB(string TableName) { try { DataBase mDataBase = new DataBase(); ADOX.Catalog catalog = new Catalog(); ADODB.Connection cn = new ADODB.Connection(); string sAccessConnection = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=..\\..\\DataBase\\StartTest.mdb"; OleDbConnection mConnection; mConnection = new OleDbConnection(sAccessConnection); mConnection.Open(); cn.Open(sAccessConnection, null, null, -1); catalog.ActiveConnection = cn; bool flag = mDataBase.GetTables(mConnection, TableName); if (!flag)//判断表名是否存在 { ADOX.Table table = new ADOX.Table(); table.Name = TableName; ADOX.Column column = new ADOX.Column(); column.ParentCatalog = catalog; column.Name = "DeviceName"; column.Type = DataTypeEnum.adLongVarChar; column.DefinedSize = 50; column.Properties["AutoIncrement"].Value = false; column.Properties["Jet OLEDB:Allow Zero Length"].Value = true; // //column.Properties["Jet OLEDB:Allow Zero Length"].Value = true; // struct TTest_Param // ------ 107 //{ // unsigned char Test_type; // 测试模态 -- 1 // unsigned char Test_Psernum[16]; // 生产序号 -- 16 // unsigned char Test_Tsernum[16]; // 产品编号 -- 16 // unsigned char Test_Fsernum[16]; // 滤器序号 -- 16 // unsigned char Test_filt[16]; // 滤材种类 -- 16 // unsigned char Test_LIQU[15]; // 测试液体 -- 15 // unsigned char Test_Dt[5]; // 日期/时间 -- 5 // unsigned char Test_LIQUType; // 测试液体种类 -- 1 // unsigned int Test_LIQUConsistence; // 测试液体浓度 -- 2 // unsigned char Test_Filter_type; // 测量用过滤器的种类 筒式/平板/囊式/其它 -- 1 // unsigned short Test_Filter_Config; // 过滤材料的规格(或平板滤器的直径) (2.5",5“,10”,20“,30”, 40") -- 4 // unsigned char Test_Filter_numer; // 测试过滤器滤芯的数量 -- 1 // unsigned int Test_Filter_Area ; // 过滤面积 // unsigned short Test_Meme_Aper; // 过滤材料的孔径(精度) 如:0。22um -- 2 // unsigned short Test_Velocity ; // 基本泡点测试模式 / 水浸入测试的测试时间 -- 2 // unsigned int Test_Up_Volm; // 滤芯的上游体积 -- 4 // unsigned short Test_startp ; // 起测压力( 滤芯的扩散流检测时的压力 ) -- 2 // unsigned short Test_SetBp ; // 最小泡点 -- 2 // unsigned short Test_Dif_max ; // 最大扩散流 -- 2 // }; table.Columns.Append(column, DataTypeEnum.adLongVarChar, 50); table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null); //(1) Test_type ------- 测试模态 (M/B/A/P/D/H) -- 1; table.Columns.Append("Htest_type", DataTypeEnum.adWChar, 50); //(1) Test_type ------- 测试模态 (M/B/A/P/D/H) -- 1; table.Columns["Htest_type"].Attributes = ColumnAttributesEnum.adColNullable; //(1) Test_type ------- 测试模态 (M/B/A/P/D/H) -- 1; //(2) Test_Psernum[16] ------- 生产序号 -- 16 ; table.Columns.Append("Test_Psernum", DataTypeEnum.adWChar, 50); table.Columns["Test_Psernum"].Attributes = ColumnAttributesEnum.adColNullable; //(3) Test_Tsernum[16] ------- 产品编号 -- 16 ; table.Columns.Append("Test_Tsernum", DataTypeEnum.adWChar, 50); table.Columns["Test_Tsernum"].Attributes = ColumnAttributesEnum.adColNullable; //(4) Test_Fsernum [16] ------- 滤器序号 -- 16 ; table.Columns.Append("Test_Fsernum", DataTypeEnum.adWChar, 50); table.Columns["Test_Fsernum"].Attributes = ColumnAttributesEnum.adColNullable; //(5) Test_filt[16] ------- 滤材种类 -- 16 ; table.Columns.Append("Test_filt", DataTypeEnum.adWChar, 50); table.Columns["Test_filt"].Attributes = ColumnAttributesEnum.adColNullable; //(6)Test_LIQU[15] ------- 测试液体 -- 15 ; table.Columns.Append("Test_LIQU", DataTypeEnum.adWChar, 50); table.Columns["Test_LIQU"].Attributes = ColumnAttributesEnum.adColNullable; //(7)Test_Dt[5] ------- 日期/时间 -- 5 ; table.Columns.Append("HA_STime", DataTypeEnum.adWChar, 50); table.Columns["HA_STime"].Attributes = ColumnAttributesEnum.adColNullable; //(8)Test_LIQUType ------- 测试液体种类 -- 1 ; table.Columns.Append("Test_LIQUType", DataTypeEnum.adWChar, 50); table.Columns["Test_LIQUType"].Attributes = ColumnAttributesEnum.adColNullable; //(9)Test_LIQUConsistence ------- 测试液体浓度 -- 2 ; table.Columns.Append("Test_LIQUConsistence", DataTypeEnum.adLongVarChar, 50); table.Columns["Test_LIQUConsistence"].Attributes = ColumnAttributesEnum.adColNullable; //(10)Test_Filter_type ------- 测量用过滤器的种类(筒式/平板/囊式/其它) -- 1 ; table.Columns.Append("Test_Filter_type", DataTypeEnum.adWChar, 50); table.Columns["Test_Filter_type"].Attributes = ColumnAttributesEnum.adColNullable; //(11)Test_Filter_Config ------- 过滤材料的规格(或平板滤器的直径) -- 2; table.Columns.Append("Test_Filter_Config", DataTypeEnum.adLongVarChar, 50); table.Columns["Test_Filter_Config"].Attributes = ColumnAttributesEnum.adColNullable; //(12)Test_Filter_numer ------- 测试过滤器滤芯的数量 -- 1 ; table.Columns.Append("Test_Filter_number", DataTypeEnum.adWChar, 50); table.Columns["Test_Filter_number"].Attributes = ColumnAttributesEnum.adColNullable; //(13)Test_Filter_Area ------- 过滤面积 -- 4 ; table.Columns.Append("Test_Filter_Area", DataTypeEnum.adLongVarChar, 50); table.Columns["Test_Filter_Area"].Attributes = ColumnAttributesEnum.adColNullable; //(14)Test_Meme_Aper ------- 过滤材料的孔径(精度) -- 2 ; table.Columns.Append("Test_Meme_Aper", DataTypeEnum.adLongVarChar, 50); table.Columns["Test_Meme_Aper"].Attributes = ColumnAttributesEnum.adColNullable; //(15)Test_Velocity ------- 基本泡点测试模式 / 水浸入的测试时间 -- 2 ; table.Columns.Append("Test_Velocity", DataTypeEnum.adLongVarChar, 50); table.Columns["Test_Velocity"].Attributes = ColumnAttributesEnum.adColNullable; //(16)Test_Up_Volm ------- 滤芯的上游体积 -- 4 ; table.Columns.Append("Test_Up_Volm", DataTypeEnum.adLongVarChar, 50); table.Columns["Test_Up_Volm"].Attributes = ColumnAttributesEnum.adColNullable; //(17)Test_startp ------- 起测压力( 滤芯的扩散流检测时的压力 ) -- 2 ; table.Columns.Append("Test_startp", DataTypeEnum.adLongVarChar, 50); table.Columns["Test_startp"].Attributes = ColumnAttributesEnum.adColNullable; //(18)Test_SetBp ------- 最小泡点 -- 2 ; table.Columns.Append("Test_SetBp", DataTypeEnum.adLongVarChar, 50); table.Columns["Test_SetBp"].Attributes = ColumnAttributesEnum.adColNullable; //(19)Test_Dif_max ------- 最大扩散流 -- 2 ; table.Columns.Append("Test_Dif_max", DataTypeEnum.adLongVarChar, 50); table.Columns["Test_Dif_max"].Attributes = ColumnAttributesEnum.adColNullable; try { catalog.Tables.Append(table); } catch (Exception ex) { //MessageBox.Show(ex.Message); } //此处一定要关闭连接,否则添加数据时候会出错 table = null; catalog = null; Application.DoEvents(); } mConnection.Close(); cn.Close(); //新建设备参数数据库表 } catch (Exception ex) { LogClass.WriteLogFile("Exception:" + ex.ToString()); } }