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();
        }
Example #2
0
        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);
        }
Example #3
0
        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("创建成功"));
        }
Example #4
0
 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();
        }
Example #6
0
        /// <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();
            }
        }
Example #7
0
        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();

               }
        }
Example #9
0
        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();
        }
Example #10
0
 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);
 }
Example #11
0
        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
            {

            }
        }
Example #13
0
        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);
        }
Example #14
0
        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();
            }
        }
Example #16
0
        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();
            }
        }
Example #18
0
        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();
            }
        }
Example #19
0
        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);
        }
Example #21
0
        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);
        }
Example #22
0
        //保存数据
        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");
            }
        }
Example #24
0
        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
            {

            }
        }
Example #26
0
        /// <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());
            }
        }