创建access数据库表demo的封装
1.创建类
public void CreateBiao(ADOX.Catalog catlog,ADOX.Table table)
{
//StuId Column(AutoIncrement ) //增加一个自动增长的字段
ADOX.Column col1 = new ADOX.Column();
col1.ParentCatalog = catlog;
col1.Type = ADOX.DataTypeEnum.adInteger;
col1.Name = "StuId";
col1.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
col1.Properties["AutoIncrement"].Value = true;
table.Columns.Append(col1, ADOX.DataTypeEnum.adInteger, 0);
////备注:
//ADOX.Column c = new ADOX.Column();
//c.ParentCatalog = catlog;
//c.Type = ADOX.DataTypeEnum.adLongVarWChar; //这句不能少,并且位置必须在其它属性前面,否则会报错。
//c.Name = "list1";
//c.Properties["Jet OLEDB:Allow Zero Length"].Value = true;
//table.Columns.Append(c, ADOX.DataTypeEnum.adLongVarWChar, 16);
//Name Column //增加一个文本字段
ADOX.Column col2 = new ADOX.Column();
col2.ParentCatalog = catlog;
col2.Name = "StuName";
col2.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
table.Columns.Append(col2, ADOX.DataTypeEnum.adVarChar, 25);
//Age Column //增加数字字段
ADOX.Column col3 = new ADOX.Column();
col3.ParentCatalog = catlog;
col3.Name = "Stuage";
col3.Type = DataTypeEnum.adDouble;
col3.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
table.Columns.Append(col3, ADOX.DataTypeEnum.adDouble, 666);
//增加Ole字段
ADOX.Column col4 = new ADOX.Column();
col4.ParentCatalog = catlog;
col4.Name = "Ole类型";
col4.Type = DataTypeEnum.adLongVarBinary;
col4.Properties["Jet OLEDB:Allow Zero Length"].Value = false;
table.Columns.Append(col4, ADOX.DataTypeEnum.adLongVarBinary, 0);
//Primary 设置主键
table.Keys.Append("PrimaryKey", ADOX.KeyTypeEnum.adKeyPrimary, "StuId", "", "");
catlog.Tables.Append(table);
//msg.Text = ("<br>数据库表:" + tbl.Name + "已经创建成功!");
}
2.main函数
string dbName = "F:/FirstCatalog.mdb";
//string dbName = "F:\\FirstCatalog" + DateTime.Now.Millisecond.ToString() + ".mdb";
//string dbName = System.Windows.Forms.Application.StartupPath + "\\FirstCatalog.mdb";
ADOX.Catalog catlog = new ADOX.Catalog();
if (!File.Exists(dbName))
{
catlog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName + ";" + "Jet OLEDB:Engine Type=5");
Biao b =new Biao();
ADOX.Table table = new ADOX.Table();
table.ParentCatalog = catlog;
table.Name = "FirstTable";
b.CreateBiao(catlog,table);
ADOX.Table table1 = new ADOX.Table();
table1.ParentCatalog = catlog;
table1.Name = "TwoTable";
b.CreateBiao(catlog, table1);
ADOX.Table table2 = new ADOX.Table();
table2.ParentCatalog = catlog;
table2.Name = "ThreeTable";
b.CreateBiao(catlog, table2);
ADOX.Table table3 = new ADOX.Table();
table3.ParentCatalog = catlog;
table3.Name = "FourTable";
b.CreateBiao(catlog, table3);
System.Runtime.InteropServices.Marshal.ReleaseComObject(table);
System.Runtime.InteropServices.Marshal.ReleaseComObject(table1);
System.Runtime.InteropServices.Marshal.ReleaseComObject(table2);
System.Runtime.InteropServices.Marshal.ReleaseComObject(table3);
System.Runtime.InteropServices.Marshal.ReleaseComObject(catlog);
table = null;
table1 = null;
table2 = null;
table3 = null;
catlog = null;
GC.WaitForPendingFinalizers();
GC.Collect();
Console.WriteLine("第一次创建");
Console.ReadKey();
}
else
{
Console.WriteLine("数据库已存在");
Console.ReadKey();
}
创建access数据库表demo的封装的更多相关文章
- 创建ACCESS数据库,并且创建表和数据。重点:关闭ACCESS数据库引用
/// <summary> /// 创建ACCESS数据库,并且创建表和数据 /// </summary> /// <param name="dictTable ...
- c#创建access数据库和数据表
由于在程序中使用了ADOX,所以先要在解决方案中引用之,方法如下: 解决方案资源管理器(项目名称)-->(右键)添加引用-->COM--> Microsoft ADO Ext. ...
- 如何用C# 动态创建Access数据库和表?
记得以前要动态的创建Access数据库的mdb文件都是采用DAO,用VC开发,一大堆的API,很是麻烦.而且以前工作中需要全新的access数据库,可以复制数据库,也可以把新的数据库放到资源里面,用新 ...
- ASP入门(二)-创建Access数据库
通常来说,ASP程序是搭配Access数据库来使用的,因此在安装完ASP环境后,为了方便建立和管理数据库,我们还需要安装Access数据库. Access是Microsoft Office家族中的一员 ...
- iOS:CoreData数据库的使用一(创建单个数据库表)
CoreData数据库框架:mac系统自带的数据库,它是苹果公司对sqlite进行封装而来的,既提供了对数据库的主要操作,也提供了具体的视图关系模型. 需要用到三个对象: 1•Managed Obje ...
- 创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表
创建ASP.NET Core MVC应用程序(3)-基于Entity Framework Core(Code First)创建MySQL数据库表 创建数据模型类(POCO类) 在Models文件夹下添 ...
- Java创建Oracle数据库表
我们通常只用java执行DML(即:insert, update, delete, select)操作,很少用来执行DDL(create, drop, alert)操作.今天试了下如何用java来创建 ...
- django在admin后台注册自己创建的数据库表
django在admin后台注册自己创建的数据库表,这样我们就可以在admin后台看到表结构信息,我们就可以在admin后台快速录入表记录信息 如果没有注册,那么你在登录django自带的admin的 ...
- MySQL创建和操作数据库表demo
[1]建立员工档案表要求字段:员工员工编号,员工姓名,性别,工资,email,入职时间,部门. [2]合理选择数据类型及字段修饰符,要求有NOT NULL,auto_increment, primar ...
随机推荐
- RAC(ReactiveCocoa)使用方法(一)
RAC(ReactiveCocoa)使用方法(一) RAC(ReactiveCocoa)使用方法(二) 什么是RAC? 最近回顾了一下ReactiveCocoa的方法,也看了一些人的文章,现写篇文章总 ...
- JavaEE中的MVC(一)Dao层彻底封装
最近Android工作实在难找,考虑是不是该转行做Java了,今天开始,花几天的事件,研究一下JavaEE各层优化. 首先是Dao层 增删改方法封装 使用PreparedStatement执行一条Sq ...
- spring boot自定义log4j2日志文件
背景:因为从 spring boot 1.4开始的版本就要用log4j2 了,支持的格式有json和xml两种格式,此次实践主要使用的是xml的格式定义日志说明. spring boot 1.5.8. ...
- buttongroup中content一次性加载的解决方法
buttongroup一次性加载所有内容的解决方法 如下图所示: 第一步: 设置windowcontainer的autoLoad属性为false(默认情况下autoLoad属性为true,所以会加载所 ...
- Python函数中如何定义参数
一.位置参数:根据函数定义时的参数位置传递参数#形参和实参的个数必须一致def fun1(): print("运行结果") print("this is fun1(),n ...
- ubuntu实时显示网速cpu占用和内存占用率
ubuntu实时显示网速cpu占用和内存占用率 大家在使用ubuntu的时候,有没有想让它实时显示网速,内存占用率,或者cpu占用率呢?现在我就教大家怎么实现,就像下面这样 1. 添加indicato ...
- 基于git的代码版本管理规范及流程-简版
基于git的简单实用的版本管理规范及流程,包括:代码库的分布.人员角色的划分.代码提交合并流程.代码冲突处理.分支管理. 代码库分类 根据代码库分布的位置及作用,分为以下几类: 主库:位于服务端,所有 ...
- Windows下根据端口号查找进程并关闭
经常用到,但是总记不住命令,备忘一下…… netstat -aon|findstr "8080" 找到进程号 tasklist|findstr "7200" ...
- P1197 [JSOI2008]星球大战
题目描述 很久以前,在一个遥远的星系,一个黑暗的帝国靠着它的超级武器统治者整个星系.某一天,凭着一个偶然的机遇,一支反抗军摧毁了帝国的超级武器,并攻下了星系中几乎所有的星球.这些星球通过特殊的以太隧道 ...
- Android开发之漫漫长途 番外篇——内存泄漏分析与解决
该文章是一个系列文章,是本人在Android开发的漫漫长途上的一点感想和记录,我会尽量按照先易后难的顺序进行编写该系列.该系列引用了<Android开发艺术探索>以及<深入理解And ...