示例#1
0
        private void CreateTestDB_Click(object sender, EventArgs e)
        {
            string dir    = AppDomain.CurrentDomain.BaseDirectory;
            string dbName = dir + "test.mdb";

            ADOX.CatalogClass catlog = new ADOX.CatalogClass();
            catlog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName + ";");
            ADOX.TableClass tableClass = new ADOX.TableClass();
            tableClass.ParentCatalog = catlog;
            tableClass.Name          = "TestTable";

            ADOX.ColumnClass columnID = new ADOX.ColumnClass();
            columnID.ParentCatalog = catlog;
            columnID.Type          = ADOX.DataTypeEnum.adInteger;
            columnID.Name          = "Id";
            columnID.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
            columnID.Properties["AutoIncrement"].Value = true;
            tableClass.Columns.Append(columnID, ADOX.DataTypeEnum.adInteger, 0);

            ADOX.ColumnClass columnName = addCol(catlog, "Name");
            tableClass.Columns.Append(columnName, ADOX.DataTypeEnum.adVarChar, 30);

            catlog.Tables.Append(tableClass);
            MessageBox.Show("Successful");
            tableClass = null;
            catlog     = null;
        }
示例#2
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="colName"></param>
 /// <param name="catalog"></param>
 /// <param name="dataType"></param>
 /// <returns></returns>
 ADOX.ColumnClass tableField(string colName, ADOX.CatalogClass catalog, ADOX.DataTypeEnum dataType)
 {
     ADOX.ColumnClass column = new ADOX.ColumnClass();
     column.Name          = colName; // The name of the column
     column.ParentCatalog = catalog;
     column.Type          = dataType;
     return(column);
 }
示例#3
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="colName"></param>
 /// <param name="catalog"></param>
 /// <returns></returns>
 ADOX.ColumnClass tableIDField(string colName, ADOX.CatalogClass catalog)
 {
     ADOX.ColumnClass column = new ADOX.ColumnClass();
     column.Name          = colName;                     // The name of the column
     column.ParentCatalog = catalog;
     column.Type          = ADOX.DataTypeEnum.adInteger; //Indicates a four byte signed integer.
     column.Properties["AutoIncrement"].Value = true;    //Enable the auto increment property for this column.
     return(column);
 }
示例#4
0
 private ADOX.ColumnClass addCol(ADOX.CatalogClass cat, string colName)
 {
     ADOX.ColumnClass col = new ADOX.ColumnClass();
     col.ParentCatalog = cat;
     // col.Type = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
     col.Name = colName;
     col.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
     return(col);
 }
示例#5
0
        public void creat_DB()
        {
            try
            {
                string            dbName = Application.StartupPath + @"\source\StuContact.mdb";//注意扩展名必须为mdb,否则不能插入表
                ADOX.CatalogClass cat    = new ADOX.CatalogClass();
                cat.Create(string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source='{0}';Jet OLEDB:Database Password=jiemi;Jet OLEDB:Engine Type=5", dbName));


                //新建表
                ADOX.TableClass tbl = new ADOX.TableClass();
                tbl.ParentCatalog = cat;
                tbl.Name          = "Contact_Users";

                ADOX.TableClass tb2 = new ADOX.TableClass();
                tb2.ParentCatalog = cat;
                tb2.Name          = "UserGroup";

                ADOX.TableClass tb3 = new ADOX.TableClass();
                tb3.ParentCatalog = cat;
                tb3.Name          = "UserInfo";


                #region 表一:
                //给各个表增加自动增长的字段
                ADOX.ColumnClass tb_one_col1 = new ADOX.ColumnClass();
                tb_one_col1.ParentCatalog = cat;
                tb_one_col1.Type          = ADOX.DataTypeEnum.adInteger;             //必须先设置字段类型
                tb_one_col1.Name          = "ID";
                tb_one_col1.Properties["Jet OLEDB:Allow Zero Length"].Value = false; //是否允许为空
                tb_one_col1.Properties["AutoIncrement"].Value = true;                //自增长
                tbl.Columns.Append(tb_one_col1, ADOX.DataTypeEnum.adInteger, 0);     //添加字段


                //增加文本字段
                ADOX.ColumnClass col2 = new ADOX.ColumnClass();//注意col序号
                col2.ParentCatalog = cat;
                col2.Name          = "User_Name";
                col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;

                tbl.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 50);

                ADOX.ColumnClass col3 = new ADOX.ColumnClass();
                col3.ParentCatalog = cat;
                col3.Name          = "User_Img";
                col3.Type          = ADOX.DataTypeEnum.adLongVarBinary;////////////OLE类型设置,用来存储图片
                col3.Properties["Jet OLEDB:Allow Zero Length"].Value = true;
                tbl.Columns.Append(col3, ADOX.DataTypeEnum.adLongVarBinary, 0);

                ADOX.ColumnClass col4 = new ADOX.ColumnClass();
                col4.ParentCatalog = cat;
                col4.Name          = "User_Sex";
                col4.Properties["Jet OLEDB:Allow Zero Length"].Value = true;
                tbl.Columns.Append(col4, ADOX.DataTypeEnum.adVarChar, 4);

                ADOX.ColumnClass col5 = new ADOX.ColumnClass();
                col5.ParentCatalog = cat;
                col5.Name          = "User_Age";
                col5.Properties["Jet OLEDB:Allow Zero Length"].Value = true;
                tbl.Columns.Append(col5, ADOX.DataTypeEnum.adInteger, 200);

                ADOX.ColumnClass col6 = new ADOX.ColumnClass();
                col6.ParentCatalog = cat;
                col6.Name          = "User_Birth";
                col6.Properties["Jet OLEDB:Allow Zero Length"].Value = true;
                tbl.Columns.Append(col6, ADOX.DataTypeEnum.adVarChar, 50);

                ADOX.ColumnClass col7 = new ADOX.ColumnClass();
                col7.ParentCatalog = cat;
                col7.Name          = "User_Phone";
                col7.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                tbl.Columns.Append(col7, ADOX.DataTypeEnum.adVarChar, 15);

                ADOX.ColumnClass col8 = new ADOX.ColumnClass();
                col8.ParentCatalog = cat;
                col8.Name          = "User_Qq";
                col8.Properties["Jet OLEDB:Allow Zero Length"].Value = true;
                tbl.Columns.Append(col8, ADOX.DataTypeEnum.adVarChar, 25);

                ADOX.ColumnClass col9 = new ADOX.ColumnClass();
                col9.ParentCatalog = cat;
                col9.Name          = "User_Company";
                col9.Properties["Jet OLEDB:Allow Zero Length"].Value = true;
                tbl.Columns.Append(col9, ADOX.DataTypeEnum.adVarChar, 50);

                ADOX.ColumnClass col10 = new ADOX.ColumnClass();
                col10.ParentCatalog = cat;
                col10.Name          = "User_Address";
                //col10.Type
                col10.Properties["Jet OLEDB:Allow Zero Length"].Value = true;
                tbl.Columns.Append(col10, ADOX.DataTypeEnum.adVarChar, 100);

                ADOX.ColumnClass col11 = new ADOX.ColumnClass();
                col11.Type          = ADOX.DataTypeEnum.adLongVarWChar;//长文本
                col11.ParentCatalog = cat;
                col11.Name          = "User_Remark";
                col11.Properties["Jet OLEDB:Allow Zero Length"].Value = true;
                tbl.Columns.Append(col11, ADOX.DataTypeEnum.adLongVarChar, 16);

                ADOX.ColumnClass col12 = new ADOX.ColumnClass();
                col12.ParentCatalog = cat;
                col12.Name          = "User_BelongGroup";
                col12.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                tbl.Columns.Append(col12, ADOX.DataTypeEnum.adInteger, 200);

                cat.Tables.Append(tbl); //把表加入数据库(非常重要)
                #endregion
                #region 表二:
                //给各增加自动增长的字段
                ADOX.ColumnClass tb_two_col1 = new ADOX.ColumnClass();   //代表表的第一列
                tb_two_col1.ParentCatalog = cat;
                tb_two_col1.Type          = ADOX.DataTypeEnum.adInteger; //必须先设置字段类型
                tb_two_col1.Name          = "ID";
                tb_two_col1.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                tb_two_col1.Properties["AutoIncrement"].Value = true;
                tb2.Columns.Append(tb_two_col1, ADOX.DataTypeEnum.adInteger, 0);


                //增加文本字段
                ADOX.ColumnClass tb_two_col2 = new ADOX.ColumnClass();//注意col序号
                tb_two_col2.ParentCatalog = cat;
                tb_two_col2.Name          = "Group_Id";
                tb_two_col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                tb2.Columns.Append(tb_two_col2, ADOX.DataTypeEnum.adVarChar, 50);

                ADOX.ColumnClass tb_two_col3 = new ADOX.ColumnClass();
                tb_two_col3.ParentCatalog = cat;
                tb_two_col3.Name          = "Group_Name";
                tb_two_col3.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                tb2.Columns.Append(tb_two_col3, ADOX.DataTypeEnum.adVarChar, 50);


                cat.Tables.Append(tb2);
                #endregion

                #region 表三:
                ADOX.ColumnClass tb_three_col1 = new ADOX.ColumnClass();   //代表表的第一列
                tb_three_col1.ParentCatalog = cat;
                tb_three_col1.Type          = ADOX.DataTypeEnum.adInteger; //必须先设置字段类型
                tb_three_col1.Name          = "ID";
                tb_three_col1.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                tb_three_col1.Properties["AutoIncrement"].Value = true;
                tb3.Columns.Append(tb_three_col1, ADOX.DataTypeEnum.adInteger, 0);


                //增加文本字段
                ADOX.ColumnClass tb_three_col2 = new ADOX.ColumnClass();
                tb_three_col2.ParentCatalog = cat;
                tb_three_col2.Name          = "User_Name";
                tb_three_col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                tb3.Columns.Append(tb_three_col2, ADOX.DataTypeEnum.adVarChar, 50);

                ADOX.ColumnClass tb_three_col3 = new ADOX.ColumnClass();
                tb_three_col3.ParentCatalog = cat;
                tb_three_col3.Name          = "User_Pwd";
                tb_three_col3.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                tb3.Columns.Append(tb_three_col3, ADOX.DataTypeEnum.adVarChar, 50);

                ADOX.ColumnClass tb_three_col4 = new ADOX.ColumnClass();
                tb_three_col4.ParentCatalog = cat;
                tb_three_col4.Name          = "User_Img";
                tb_three_col4.Type          = ADOX.DataTypeEnum.adLongVarBinary;
                tb_three_col4.Properties["Jet OLEDB:Allow Zero Length"].Value = true;
                tb3.Columns.Append(tb_three_col4, ADOX.DataTypeEnum.adLongVarBinary, 0);

                ADOX.ColumnClass tb_three_col5 = new ADOX.ColumnClass();
                tb_three_col5.ParentCatalog = cat;
                tb_three_col5.Name          = "User_Group";
                tb_three_col5.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                tb3.Columns.Append(tb_three_col5, ADOX.DataTypeEnum.adInteger, 200);

                ADOX.ColumnClass tb_three_col6 = new ADOX.ColumnClass();
                tb_three_col6.ParentCatalog = cat;
                tb_three_col6.Name          = "User_IsImg";
                tb_three_col6.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                tb3.Columns.Append(tb_three_col6, ADOX.DataTypeEnum.adInteger, 2);

                cat.Tables.Append(tb3);
                #endregion
                //转换为ADO连接,并关闭
                (cat.ActiveConnection as ADODB.Connection).Close();
                cat.ActiveConnection = null;
                cat = null;

                //创建完数据库之后自动初始化必要数据
                using (OleDbConnection olconn = new OleDbConnection(connStr))
                {
                    olconn.Open();
                    OleDbCommand olcmd = new OleDbCommand();
                    olcmd.Connection  = olconn;
                    olcmd.CommandText = "insert into UserInfo(User_Name,User_Pwd,User_Group,User_IsImg) values('admin','admin','1','0')";
                    olcmd.ExecuteNonQuery();

                    olcmd.CommandText = "insert into UserGroup(Group_Id,Group_Name) values('0','家人')";
                    olcmd.ExecuteNonQuery();

                    olcmd.CommandText = "insert into UserGroup(Group_Id,Group_Name) values('1','朋友')";
                    olcmd.ExecuteNonQuery();

                    olcmd.CommandText = "insert into UserGroup(Group_Id,Group_Name) values('2','同学')";
                    olcmd.ExecuteNonQuery();

                    olcmd.CommandText = "insert into UserGroup(Group_Id,Group_Name) values('3','同事')";
                    olcmd.ExecuteNonQuery();

                    olcmd.CommandText = "insert into UserGroup(Group_Id,Group_Name) values('4','老师')";
                    olcmd.ExecuteNonQuery();
                }

                //开始将数据库的密码加密后写入配置文件
                config.writeConfig_IsEditDBandAddPwd(true, "jiemi");
            }
            catch (Exception ex)
            {
                MessageBox.Show("出现了如下问题:" + ex.Message, "异常提示");
            }
        }
示例#6
0
        public static void WriteDB(List <xl2cad_cad.midTable> tables)
        {
            string filePath   = @"D:\xl2cad.mdb";
            string mdbCommand = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Jet OLEDB:Engine Type=5";

            ADODB.Connection  cn  = null;
            ADOX.CatalogClass cat = null;
            try
            {
                //创建数据库,有就删除重建,没有则新建
                cat = new CatalogClass();
                if (File.Exists(filePath))
                {
                    File.Delete(filePath);
                }
                cat.Create(mdbCommand);
                //连接数据库
                cn  = new ADODB.Connection();
                cat = null;
                cat = new CatalogClass();
                //创建数据表
                foreach (xl2cad_cad.midTable midtable in tables)
                {
                    cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath, null, null, -1);
                    cat.ActiveConnection = cn;
                    ADOX.TableClass table     = new TableClass();
                    string          tablename = midtable.Name;
                    table.ParentCatalog = cat;
                    table.Name          = tablename;
                    cat.Tables.Append(table);
                    //将数据写入数据表
                    //Excel.WorkSheet.Range导出的object[obj1,obj2]中,obj1为行,obj2为列
                    //因此先按obj2的个数建立字段,在按obj1的个数一行行填入数据
                    object[,] datas = midtable.data;
                    int rowCount    = 0;
                    int columnCount = 0;
                    rowCount    = datas.GetUpperBound(0);   //第一维obj1的最大值,行数
                    columnCount = datas.GetUpperBound(1);   //第二维obj2的最大值,列数
                    //建立字段
                    for (int i = 0; i <= columnCount; i++)
                    {
                        ADOX.ColumnClass col = null;
                        col = new ADOX.ColumnClass();
                        col.ParentCatalog = cat;
                        col.Properties["Jet OLEDB:Allow Zero Length"].Value = true;
                        col.Name = "Value" + i;
                        table.Columns.Append(col, ADOX.DataTypeEnum.adVarChar, 25);
                    }
                    //按行填入数据
                    object          ra = null;
                    ADODB.Recordset rs = new ADODB.Recordset();
                    for (int i = 0; i <= rowCount; i++)
                    {
                        //构造按行写入的sql语句
                        string sql1     = String.Format("INSERT INTO {0} (", tablename);
                        string sql2     = String.Format(") VALUES (");
                        string strValue = null;
                        for (int j = 0; j <= columnCount; j++)
                        {
                            if (datas[i, j] == null)
                            {
                                strValue = datas[i, j] as string;
                            }
                            else
                            {
                                strValue = datas[i, j].ToString();
                            }
                            sql1 += String.Format("Value{0},", j);
                            sql2 += String.Format("'{0}',", strValue);
                        }
                        string sql = sql1 + sql2 + ")";
                        //将 ,) 替换为 )
                        sql = sql.Replace(",)", ")");
                        rs  = cn.Execute(sql, out ra, -1);
                    }
                }
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
            finally
            {
                cn.Close();
                System.Runtime.InteropServices.Marshal.FinalReleaseComObject(cn);
                System.Runtime.InteropServices.Marshal.FinalReleaseComObject(cat);
                System.GC.Collect();
            }
        }
示例#7
0
        public Form1()
        {
            InitializeComponent();
            label1.BackColor = Color.Transparent;
            label2.BackColor = Color.Transparent;
            label3.BackColor = Color.Transparent;
            button1.ButtonStyle();
            button2.ButtonStyle();
            button3.ButtonStyle();
            //创建数据库
            if (!File.Exists(filePath))
            {
                //创建数据库
                ADOX.CatalogClass Bike = new ADOX.CatalogClass();
                Bike.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filePath + ";Jet OLEDB:Database Password=2327085154;");

                //新建一个表[user]
                ADOX.TableClass user = new ADOX.TableClass();
                user.ParentCatalog = Bike;
                user.Name          = "user";
                //增加一个自动增长的字段ID
                ADOX.ColumnClass ID = new ADOX.ColumnClass();
                ID.ParentCatalog = Bike;
                ID.Type          = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
                ID.Name          = "ID";
                ID.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                ID.Properties["AutoIncrement"].Value = true;
                user.Columns.Append(ID, ADOX.DataTypeEnum.adInteger, 0);
                //增加一个文本字段username
                ADOX.ColumnClass username = new ADOX.ColumnClass();
                username.ParentCatalog = Bike;
                username.Name          = "用户名";
                username.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                user.Columns.Append(username, ADOX.DataTypeEnum.adVarChar, 20);
                //增加一个文本字段password
                ADOX.ColumnClass password = new ADOX.ColumnClass();
                password.ParentCatalog = Bike;
                password.Name          = "密码";
                password.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                user.Columns.Append(password, ADOX.DataTypeEnum.adVarChar, 20);
                //把表加进数据库
                Bike.Tables.Append(user);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(user);

                //新建表[bike]
                ADOX.TableClass bike = new ADOX.TableClass();
                bike.ParentCatalog = Bike;
                bike.Name          = "bike";
                //增加一个自动增长的字段 序号
                ADOX.ColumnClass _ID = new ADOX.ColumnClass();
                _ID.ParentCatalog = Bike;
                _ID.Type          = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
                _ID.Name          = "序号";
                _ID.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                _ID.Properties["AutoIncrement"].Value = true;
                bike.Columns.Append(_ID, ADOX.DataTypeEnum.adInteger, 0);
                //增加一个文本字段name
                ADOX.ColumnClass name = new ADOX.ColumnClass();
                name.ParentCatalog = Bike;
                name.Name          = "姓名";
                name.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                bike.Columns.Append(name, ADOX.DataTypeEnum.adVarChar, 40);
                //增加一个文本字段Class
                ADOX.ColumnClass Class = new ADOX.ColumnClass();
                Class.ParentCatalog = Bike;
                Class.Name          = "班级";
                Class.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                bike.Columns.Append(Class, ADOX.DataTypeEnum.adVarChar, 100);
                //增加一个文本字段pNumber
                ADOX.ColumnClass pNumber = new ADOX.ColumnClass();
                pNumber.ParentCatalog = Bike;
                pNumber.Name          = "联系电话";
                pNumber.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                bike.Columns.Append(pNumber, ADOX.DataTypeEnum.adVarChar, 20);
                //增加一个文本字段room
                ADOX.ColumnClass room = new ADOX.ColumnClass();
                room.ParentCatalog = Bike;
                room.Name          = "寝室号";
                room.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                bike.Columns.Append(room, ADOX.DataTypeEnum.adVarChar, 20);
                //增加一个文本字段bikeID
                ADOX.ColumnClass bikeID = new ADOX.ColumnClass();
                bikeID.ParentCatalog = Bike;
                bikeID.Name          = "自行车牌号";
                bikeID.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                bike.Columns.Append(bikeID, ADOX.DataTypeEnum.adVarChar, 20);
                //增加一个文本字段image
                ADOX.ColumnClass image = new ADOX.ColumnClass();
                image.ParentCatalog = Bike;

                image.Name = "自行车照片";
                image.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                bike.Columns.Append(image, ADOX.DataTypeEnum.adLongVarChar, 1000);
                //把表加进数据库
                Bike.Tables.Append(bike);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(bike);
                System.Runtime.InteropServices.Marshal.ReleaseComObject(bike);

                user = null;
                bike = null;
                Bike = null;
                GC.WaitForPendingFinalizers();
                GC.Collect();
            }
        }
示例#8
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            dataGridView1.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            dataGridView3.RowsDefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleCenter;
            //ReportParameterCostume ReportParameterPrintDate ReportParameterID ReportParameterRed ReportParameterCountAll
            //ReportParameterCountAllCN ReportParameterDrawer ReportParameterPhone ReportParameterRecAddr ReportParameterWhite ReportParameterBlue
            //ReportParameterSalesman ReportParameterVerification ReportParameterDelivery ReportParameterSaver ReportParameterPrintTime
            PrintParams.Add("ReportParameterCostume", "");
            PrintParams.Add("ReportParameterPrintDate", "");
            PrintParams.Add("ReportParameterID", "");
            PrintParams.Add("ReportParameterRed", "");
            PrintParams.Add("ReportParameterCountAll", "");
            PrintParams.Add("ReportParameterCountAllCN", "");
            PrintParams.Add("ReportParameterDrawer", "");
            PrintParams.Add("ReportParameterPhone", "");
            PrintParams.Add("ReportParameterRecAddr", "");
            PrintParams.Add("ReportParameterWhite", "");
            PrintParams.Add("ReportParameterBlue", "");
            PrintParams.Add("ReportParameterSalesman", "");
            PrintParams.Add("ReportParameterVerification", "");
            PrintParams.Add("ReportParameterDelivery", "");
            PrintParams.Add("ReportParameterSaver", "");
            PrintParams.Add("ReportParameterPrintTime", "");
            PrintParams.Add("ReportParameterYellow", "");

            #region 初始化数据库
            string filePath = Environment.CurrentDirectory + @"\DrugsDatabase.mdb";
            //初始化数据库,若数据库不存在则创建
            if (!File.Exists(filePath))
            {
                if (AccessDbHelper.CreateAccessDb(filePath))
                {
                    #region 初始化表字段
                    //药品名称 DrugsName
                    ADOX.ColumnClass DrugsName = new ADOX.ColumnClass
                    {
                        //ParentCatalog = catalog,
                        Name        = "DrugsName",
                        Attributes  = ColumnAttributesEnum.adColNullable, //允许空值
                        Type        = DataTypeEnum.adVarWChar,
                        DefinedSize = 255,
                    };
                    //规格 Specification
                    ADOX.ColumnClass Specification = new ADOX.ColumnClass
                    {
                        //ParentCatalog = catalog,
                        Name        = "Specification",
                        Attributes  = ColumnAttributesEnum.adColNullable, //允许空值
                        Type        = DataTypeEnum.adVarWChar,
                        DefinedSize = 255,
                    };
                    //型号 Model
                    ADOX.ColumnClass Model = new ADOX.ColumnClass
                    {
                        //ParentCatalog = catalog,
                        Name        = "Model",
                        Attributes  = ColumnAttributesEnum.adColNullable, //允许空值
                        Type        = DataTypeEnum.adVarWChar,
                        DefinedSize = 50,
                    };
                    //单位 Unti
                    ADOX.ColumnClass Unti = new ADOX.ColumnClass
                    {
                        //ParentCatalog = catalog,
                        Name        = "Unti",
                        Attributes  = ColumnAttributesEnum.adColNullable, //允许空值
                        Type        = DataTypeEnum.adVarWChar,
                        DefinedSize = 50,
                    };
                    //单价 Price
                    ADOX.ColumnClass Price = new ADOX.ColumnClass
                    {
                        //ParentCatalog = catalog,
                        Name        = "Price",
                        Attributes  = ColumnAttributesEnum.adColNullable, //允许空值
                        Type        = DataTypeEnum.adDouble,
                        DefinedSize = 50,
                    };
                    //产地 Origin
                    ADOX.ColumnClass Origin = new ADOX.ColumnClass
                    {
                        //ParentCatalog = catalog,
                        Name        = "Origin",
                        Attributes  = ColumnAttributesEnum.adColNullable, //允许空值
                        Type        = DataTypeEnum.adVarWChar,
                        DefinedSize = 255,
                    };
                    //批准批号 Batch
                    ADOX.ColumnClass Batch = new ADOX.ColumnClass
                    {
                        //ParentCatalog = catalog,
                        Name        = "Batch",
                        Attributes  = ColumnAttributesEnum.adColNullable, //允许空值
                        Type        = DataTypeEnum.adVarWChar,
                        DefinedSize = 50,
                    };
                    //生产日期 ProductionDate
                    ADOX.ColumnClass ProductionDate = new ADOX.ColumnClass
                    {
                        //ParentCatalog = catalog,
                        Name       = "ProductionDate",
                        Attributes = ColumnAttributesEnum.adColNullable, //允许空值
                        Type       = ADOX.DataTypeEnum.adDate,
                    };
                    //有效日期 Validity
                    ADOX.ColumnClass Validity = new ADOX.ColumnClass
                    {
                        //ParentCatalog = catalog,
                        Name       = "Validity",
                        Attributes = ColumnAttributesEnum.adColNullable, //允许空值
                        Type       = ADOX.DataTypeEnum.adDate,
                    };
                    //库存 Stock
                    ADOX.ColumnClass Stock = new ADOX.ColumnClass
                    {
                        //ParentCatalog = catalog,
                        Name        = "Stock",
                        Attributes  = ColumnAttributesEnum.adColNullable, //允许空值
                        Type        = ADOX.DataTypeEnum.adInteger,
                        DefinedSize = 100
                    };
                    //质量状况 Quality
                    ADOX.ColumnClass Quality = new ADOX.ColumnClass
                    {
                        //ParentCatalog = catalog,
                        Name        = "Quality",
                        Attributes  = ColumnAttributesEnum.adColNullable, //允许空值
                        Type        = ADOX.DataTypeEnum.adVarWChar,
                        DefinedSize = 255
                    };

                    #endregion
                    List <ADOX.ColumnClass> columns = new List <ADOX.ColumnClass>();
                    columns.Add(DrugsName);
                    columns.Add(Specification);
                    columns.Add(Model);
                    columns.Add(Unti);
                    columns.Add(Price);
                    columns.Add(Origin);
                    columns.Add(Batch);
                    columns.Add(ProductionDate);
                    columns.Add(Validity);
                    columns.Add(Stock);
                    columns.Add(Quality);
                    AccessDbHelper.CreateAccessTable(filePath, "DrugsTable", columns);
                }
                else
                {
                    MessageBox.Show("数据库创建失败,以管理员身份运行!或添加数据库[DrugsDatabase.mdb]到程序运行目录下。", "警告");
                }
            }
            else
            {
                ReflashDataGridView();
            }
            #endregion
            #region DataGridView 按钮渲染
            DataGridViewButtonColumn btnDel = new DataGridViewButtonColumn();
            btnDel.Name       = "colbtnDel";
            btnDel.HeaderText = "操作";
            btnDel.DefaultCellStyle.NullValue = "删除";

            DataGridViewButtonColumn btnEdit = new DataGridViewButtonColumn();
            btnEdit.Name       = "colbtnEdit";
            btnEdit.HeaderText = "操作";
            btnEdit.DefaultCellStyle.NullValue = "编辑";

            DataGridViewButtonColumn btnPrint = new DataGridViewButtonColumn();
            btnPrint.Name       = "colbtnPrint";
            btnPrint.HeaderText = "操作";
            btnPrint.DefaultCellStyle.NullValue = "打印";

            dataGridView1.Columns.Add(btnDel);
            dataGridView1.Columns.Add(btnEdit);
            dataGridView1.Columns.Add(btnPrint);

            DataGridViewButtonColumn btnPrintDel = new DataGridViewButtonColumn();
            btnPrintDel.Name       = "btnPrintDel";
            btnPrintDel.HeaderText = "操作";
            btnPrintDel.DefaultCellStyle.NullValue = "删除";
            dataGridView3.Columns.Add(btnPrintDel);

            #endregion
        }
示例#9
0
        //在指定的Access数据库中穿点指定的表格
        public static bool CreateAccessTable(string filePath, string tbName, List <ADOX.ColumnClass> columns)
        {
            ADOX.Catalog catalog = new Catalog();
            //数据库文件不存在则创建
            try
            {
                ADODB.Connection cn = new ADODB.Connection();
                try
                {
                    cn.Open(connStr, null, null, -1);
                }
                catch (System.Exception ex)
                {
                    Trace.TraceWarning("Access连接打开失败", ex);
                    return(false);
                }

                catalog.ActiveConnection = cn;
                ADOX.Table table = new ADOX.Table();
                table.ParentCatalog = catalog;
                table.Name          = tbName;

                //主键
                ADOX.ColumnClass DrugsID = new ADOX.ColumnClass();
                DrugsID.ParentCatalog = catalog;
                DrugsID.Type          = ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
                DrugsID.Name          = "DrugsID";
                DrugsID.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
                DrugsID.Properties["AutoIncrement"].Value = true;
                DrugsID.Type = ADOX.DataTypeEnum.adInteger;
                table.Columns.Append(DrugsID, ADOX.DataTypeEnum.adInteger, 0);

                foreach (var column in columns)
                {
                    table.Columns.Append(column); //默认数据类型和字段大小
                }

                //主键
                table.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "DrugsID", "", "");
                catalog.Tables.Append(table);

                //accessConnection = new OleDbConnection(cn.ConnectionString);
                //tableName = tbName;
                //try
                //{
                //    accessConnection.Open();
                //}
                //catch (System.Exception ex)
                //{
                //    Trace.TraceWarning("Access连接打开失败", ex);
                //    return false;
                //}
                cn.Close();
            }
            catch (System.Exception e)
            {
                Trace.TraceWarning("创建Access表出错", e);
                return(false);
            }
            return(true);
        }
示例#10
0
        public static bool CreateAccessTable(string FilePath, string tbName)
        {
            ADOX.Catalog catalog = new Catalog();

            List <string> colums = new List <string>();

            //数据库文件不存在则创建
            if (!File.Exists(FilePath))
            {
                try
                {
                    catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath + ";Jet OLEDB:Engine Type=5");
                }
                catch (System.Exception e)
                {
                    Trace.TraceWarning("创建Access表出错", e);
                    return(false);
                }
            }

            ADODB.Connection cn = new ADODB.Connection();
            try
            {
                cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FilePath, null, null, -1);
                if (accessConnection == null)
                {
                    accessConnection = new OleDbConnection(cn.ConnectionString);
                }
            }
            catch (System.Exception ex)
            {
                Trace.TraceWarning("Access连接打开失败", ex);
                return(false);
            }
            try
            {
                catalog.ActiveConnection = cn;
                ADOX.Table table = new ADOX.Table();
                table.ParentCatalog = catalog;
                table.Name          = tbName;


                if (tbName == "ProjectConfig")

                //公共字段
                {
                    colums.Insert(0, "ProjectName");
                    colums.Insert(1, "GUIDSTR");
                    colums.Insert(2, "ProductName");
                    colums.Insert(3, "ProductGN");
                    colums.Insert(4, "ProductUse");
                    colums.Insert(5, "ExperTime");
                    colums.Insert(6, "ExperAddress");
                    colums.Insert(7, "ProjectPath");
                }
                if (tbName == "ExpermentParam")
                {
                    colums.Insert(0, "GUIDSTR");       // 1加速 0 寿命
                    colums.Insert(1, "ExpermentType"); // 1加速 0 寿命
                    colums.Insert(2, "YLType");
                    colums.Insert(3, "JSMode");
                    colums.Insert(4, "YLSetType");
                    colums.Insert(5, "CGTemperature");
                    colums.Insert(6, "CGXDSD");
                    colums.Insert(7, "CPJXTemperature");
                    colums.Insert(8, "CPJXXDSD");
                    colums.Insert(9, "YLNumber");
                    colums.Insert(10, "YBNumber");
                    colums.Insert(11, "JWType");
                    colums.Insert(12, "CGZD");
                    colums.Insert(13, "CGDYL");
                    colums.Insert(14, "JXZD");
                    colums.Insert(15, "JXDYL");
                }
                if (tbName == "ExpermentDesign")
                {
                    colums.Insert(0, "GUIDSTR");     // 1加速 0 寿命
                    colums.Insert(1, "Temperature"); // 1加速 0 寿命
                    colums.Insert(2, "SD");
                    colums.Insert(3, "YBNumber");
                    colums.Insert(4, "ExpermentTime");
                }
                if (tbName == "ChannelInfo")
                {
                    colums.Insert(0, "GUIDSTR");  //
                    colums.Insert(1, "IndexStr"); //
                    colums.Insert(2, "FucntionName");
                    colums.Insert(3, "FunctionType");
                    colums.Insert(4, "XianHao");
                    colums.Insert(5, "Duanzi");//

                    colums.Insert(6, "Hz");

                    colums.Insert(7, "PerCount");
                    colums.Insert(8, "IsFunctionSelect");
                }
                if (tbName == "YBChannelInfo")    //样本通道分配
                {
                    colums.Insert(0, "GUIDSTR");  //
                    colums.Insert(1, "IndexStr"); //
                    colums.Insert(2, "FunctionName");

                    colums.Insert(3, "ChannelNumber");
                    colums.Insert(4, "YBNumber");
                    colums.Insert(5, "InfoType");
                }
                if (tbName == "YBSetSignle")        //样本通道分配
                {
                    colums.Insert(0, "GUIDSTR");    //
                    colums.Insert(1, "GNFunction"); //
                    colums.Insert(2, "TimeList");
                    colums.Insert(3, "ValueList");
                    colums.Insert(4, "YBList");
                    colums.Insert(5, "SetType");
                }

                if (tbName == "YBSetOutSignle")     //样本通道分配
                {
                    colums.Insert(0, "GUIDSTR");    //
                    colums.Insert(1, "GNFunction"); //
                    colums.Insert(2, "TimeList");
                    colums.Insert(3, "ValueList");
                    colums.Insert(4, "YBList");
                    colums.Insert(5, "SetType");
                }

                if (tbName == "YBSetAlarm")         //样本通道分配
                {
                    colums.Insert(0, "GUIDSTR");    //
                    colums.Insert(1, "GNFunction"); //
                    colums.Insert(2, "AlarmH");
                    colums.Insert(3, "AlarmL");
                    colums.Insert(4, "AlarmData");
                    colums.Insert(5, "AlarmAbs");
                    colums.Insert(6, "AlarmTimeAbs");
                }


                foreach (var column in colums)
                {
                    ADOX.ColumnClass col = new ADOX.ColumnClass
                    {
                        ParentCatalog = catalog,
                        Name          = column,
                        Attributes    = ColumnAttributesEnum.adColNullable //允许空值
                    };


                    table.Columns.Append(col, DataTypeEnum.adVarWChar, 50); //默认数据类型和字段大小
                }
                catalog.Tables.Append(table);

                accessConnection = new OleDbConnection(cn.ConnectionString);
                TableName        = tbName;


                try
                {
                    accessConnection.Open();
                }
                catch (System.Exception ex)
                {
                    Trace.TraceWarning("Access连接打开失败", ex);
                    return(false);
                }

                cn.Close();
            }
            catch {
            }

            return(true);
        }