C#中动态创建数据库和数据表,很经典【转】
用ADOX创建access数据库方法很简单,只需要new一个Catalog对象,然后调用它的Create方法就可以了,如下:
ADOX.Catalog catalog = new Catalog();
catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.mdb;Jet OLEDB:Engine Type=5");
仅仅两行代码就搞定了。下来我主要介绍一下在c#中的实现细节。首先你要添加引用,在“Add reference”对话框里切换到Com页面,选择“Microsoft ADO Ext. 2.8 for DDL and Security”,然后点击OK。在文件的开头using ADOX名字空间。然后添加如上面所示的代码就可以成功的创建Access 数据库了,代码如下:
using System;
using System.Collections.Generic;
using System.Text;
using ADOX;
namespace testADOX
...{
class Program
...{
static void (string[] args)
...{
ADOX.Catalog catalog = new Catalog();
catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.mdb;Jet OLEDB:Engine Type=5");
}
}
}
创建了数据库文件是没有实际用处的,我们还要创建表。在创建表之前,我们必须连接目标数据库,用来连接数据的桥梁居然是ADO的Connection对象,所以我们不得不再次添加对ADO的应用,在添加引用对话框中切换到Com页面,选择“Microsoft ActiveX Data Objects 2.8 Library”,然后点击OK。下边是创建表的完整代码:using System;
using System.Collections.Generic;
using System.Text;
using ADOX;
namespace testADOX
...{
class Program
...{
static void (string[] args)
...{
ADOX.Catalog catalog = new Catalog();
catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\test.mdb;Jet OLEDB:Engine Type=5");
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 = “序号";
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("关键词", DataTypeEnum.adVarWChar, 50);
table.Columns.Append("标题", DataTypeEnum. adVarWChar, 50);
table.Columns.Append("链接", DataTypeEnum. adVarWChar, 50);
table.Columns.Append("时间", DataTypeEnum.adDate, 0);
table.Columns.Append("摘要", DataTypeEnum. adVarWChar, 9);
catalog.Tables.Append(table);
cn.Close();
}
}
}
上面的代码中,创建了一个名为FirstTable的表,在表里加入了4个字段,并设置了一个主键。表里的字段分别输入4中不同的常用类型,第一个字段是一个自动增长的整数类型,这个类型比较特殊,你必须为这个字段设置ParentCatalog属性,并将“AutoIncrement”的属性值设为true.。Access里的Text类型对应的就是adVarWchar,而日期类型对应的是adDate。
键的设置如table.Keys.Append("FirstTablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null)所示,如果是外键的话,你还必须要设置关联的表和关联的字段,也就是Append方法的后两个字段。
C#中动态创建数据库和数据表,很经典【转】的更多相关文章
- Mysql 中如何创建数据库和数据表
这里的数据库为:user 数据表为 aaa mysql –uroot –p 进入mysql create database user; 创建数据 ...
- C# 利用mysql.data 在mysql中创建数据库及数据表
C# 利用mysql.data 在mysql中创建数据库及数据表 using System; using System.Collections.Generic; using System.Linq; ...
- sql server2008中怎样用sql语句创建数据库和数据表
这是简单用代码实现创建数据库和数据表的sql语句,如下: --调用系统数据库-- use master go /***防止你要创建的数据库同名,先把它删除掉****/ if Exists(select ...
- 使用Entity Framework通过code first方式创建数据库和数据表
开发环境 WIN10 Entity Framework6.0 MVC5.0 开发工具 VS2015 SqlServer2012 1.创建上下文Context继承DbContext,并创建其他的业 ...
- MySQL 创建数据库及数据表
1.创建数据库 (1) 命令行创建 [root@host]# mysqladmin -u root -p create RUNOOB Enter password:****** (2) php创建 语 ...
- 复习MySQL①创建数据库及数据表
• 创建数据库:create database 数据库名称; – 例:创建名为test的测试数据库 create database test; • 查看创建好的数据库:show create data ...
- 【无私分享:ASP.NET CORE 项目实战(第四章)】Code First 创建数据库和数据表
目录索引 [无私分享:ASP.NET CORE 项目实战]目录索引 简介 本章我们来介绍下Asp.net Core 使用 CodeFirst 创建数据库和表,通过 控制台 和 dotnet ef 两种 ...
- MySQL数据库、数据表和字段字符集查询、修改和配置
一.设置编码 LINUX 修改vi/etc/my.cnf WINDOWS my.ini 在[client]下添加 default-character-set=utf8 在[mysqld]下添加 ...
- hibernate动态创建数据库表名几种方式
数据库中数据量很大, 但又不可以删除时同时又要优化程序检索数据时间. 答:方式有很多比如 创建数据库表分区,创建索引, 存储过程等; 我这里采用动态创建数据库表的方式. 完全可以在不创建表分区情况下实 ...
随机推荐
- Centos7 忘记密码的情况下,修改root或其他用户密码
转载:https://blog.csdn.net/wcy00q/article/details/70570043 应用场景 linux管理员忘记root密码,需要进行找回操作. 注意事项:本文基于ce ...
- JAVAWeb SSH框架 上传文件,如2007的EXCEL
下面的代码是上传EXCEL的代码,其实,就是在上传文件到服务器,代码都差不多,只是接收的文件的类型改一下即可. 1.jsp 用的是struts2 标签 代码: <s:file name=&quo ...
- 加减 script函数初识
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 31、NGS 常用分析软件
转载:http://www.zilhua.com/2081.html 参考资料:http://bioinfo.mc.vanderbilt.edu/NGS/software.htm 1. Mapping ...
- 简单Hadoop集群环境搭建
最近大数据课程需要我们熟悉分布式环境,每组分配了四台服务器,正好熟悉一下hadoop相关的操作. 注:以下带有(master)字样为只需在master机器进行,(ALL)则表示需要在所有master和 ...
- 【mybatis-记录】
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- asp.net core系列 64 结合eShopOnWeb全面认识领域模型架构
一.项目分析 在上篇中介绍了什么是"干净架构",DDD符合了这种干净架构的特点,重点描述了DDD架构遵循的依赖倒置原则,使软件达到了低藕合.eShopOnWeb项目是学习DDD领域 ...
- SpringBoot第五篇:整合Mybatis
作者:追梦1819 原文:https://www.cnblogs.com/yanfei1819/p/10869315.html 版权声明:本文为博主原创文章,转载请附上博文链接! 引言 ORM框架 ...
- Linux系列教程-----Linux安装centos6.8
转发:https://www.cnblogs.com/ysocean/p/7689146.html
- angular1 表单验证demo
这是一个angular1 验证表单的小栗子: 先看代码: <div ng-controller="myController"> <form name=" ...