问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何用C#动态创建Access数据库和表

发布网友 发布时间:2022-04-11 23:25

我来回答

2个回答

懂视网 时间:2022-04-12 03:46

1.动态创建表结构,引入com中的二个动态库,一个是ADOX,一个是ADODB二个dll,ADOX.dll和Interop.ADODB.dll 2.增加wfm中的按钮,按钮事件如下: 其中的m_path是当前程序运行的路径,可以写绝对路径,目前是相对路径。 private void button1_Click(object send

1.动态创建表结构,引入com中的二个动态库,一个是ADOX,一个是ADODB二个dll,ADOX.dll和Interop.ADODB.dll

2.增加wfm中的按钮,按钮事件如下:

其中的m_path是当前程序运行的路径,可以写绝对路径,目前是相对路径。

private void button1_Click(object sender, EventArgs e)
{
string strdb = m_path + "\DomTest.mdb";


if (File.Exists("" + strdb + "")) //先判断当前是否存在该数据库,没有则创建
{

MessageBox.Show("当前存在数据库,请先删除掉", "信息提示");
return;
}
ADOX.Catalog catalog = new Catalog();

catalog.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + strdb + ;Jet OLEDB:Engine Type=5");

ADODB.Connection cn = new ADODB.Connection();

cn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source= + strdb + ", null, null, -1);
catalog.ActiveConnection = cn;

ADOX.Table table = new ADOX.Table();
table.Name = "Table1";

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("TablePrimaryKey", KeyTypeEnum.adKeyPrimary, column, null, null);
table.Columns.Append("Name", DataTypeEnum.adVarWChar, 50); //增加第二列
table.Columns.Append("Age", DataTypeEnum.adInteger, 9); //增加第三列
table.Columns.Append("Birthday", DataTypeEnum.adDate, 0);//增加第四列
catalog.Tables.Append(table); //增加当前的表

cn.Close();
MessageBox.Show("创建数据库成功,位置存放在" + m_path, "信息提示");
}

热心网友 时间:2022-04-12 00:54

首先创建一个基于对话框的MFC应用程序ADO_Access.sln.然后在stdafx.h头文件末尾添加(网上有说在某个#include后面的添加的,也有说在合适位置添加的,我这里直接添加在最末尾)

#import "C:\Program Files\Common Files\System\ado\msado15.dll"    no_namespace rename("EOF", "adoEOF")

添加完成后#import下面会出现红色波浪线提示错误, 然后最好是执行一次生成解决方案,会提示生成成功,但是红色波浪线依然在,之前自己被它困扰好久,网上有说不用理会的,之前没理会也确实后来就莫名其妙的不见了,现在我知道了,当生成成功后左下角仍然提示正在分析····文件,等待分析完了红色波浪线也就消失了。

第二步,在ADO_AccessDlh.h 类里的public下添加 _ConnectionPtr m_pConnection;//连接access数据库的链接对象 _RecordsetPtr m_pRecordset;//结果集对象

第三步,初始化数据库连接。 在ADO_AccessDlh类的OnInitDialog()初始化成员函数里添加如下代码:

数据库连接就没问题了,剩下的就是功能模块了。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
QQ视频过期了怎么恢复正常呢? 有没有酒友买了曜隐今年那款牛年纪念版酱酒啊,想问一下这个纪念版的包装... 买过曜隐酱酒的朋友觉得他们的包装怎么样呀,看起来高端显品位吗?_百 ... 最近收到客户送的一瓶曜隐酱酒,觉得这个酒的瓶盖很有特色哇,大家知道... 我的用Psiloc irRemote不知道这么用 TOSHIBA东芝55U3800C PRO液晶电视推荐 电视设置了每天12点定时关机,有一天11点就提前手动关电视了,定时设置需 ... 变频器维修,维修变频器电路板 建行帐号指的是什么 癌症临床表现 癌症的症状有哪些 如何用c#代码动态的生成一个access数据库表,并创建表的结构? 搭建hadoop完全分布式集群,启动后遇到的问题 hadoop完全分布式安装slave怎么配置 简要描述如何安装配置一个完全分布式Hadoop(以三个节点配置)并成功启动,只描述即可,列出步骤_问一问 本次操作由于太太计算机的限制而被取消,请与您的系统管理员联系 系统还原被组策略关闭,要打开系统还原,请于您的域管理员联系。怎样解决这个问题? 由于一个软件限制策略的阻止,windows无法打开此程序,要获取更多信息请打开事件查看器或与系统管理员联系 如何让windows2003 中具有管理员权限的用户无法重启系统? 您计算机上的一个策略阻止您连接到该打印机列队。。请与您的系统管理员联系。 本次操作由于这台计算机的限制而被取消。请与您的系统管理员联系。怎么办? 电脑本地连接的属性打不开,说您没有足够的权限配置此连接的属性。请与管理员联系。 sql 游标批量更新 update语句如何同时更新不同条件的两条记录? sql查询多表查询数据时发现数据更新了但是另一张保存数据修改后的表没有更新,这时既要查询出更新的数据 pb中用游标update多条记录时,由于信息量过大,想每100条记录commit一次,请问代码该怎么写? 更新同一个表的多条记录 需要使用事务吗 如何读懂 STATSPACK 报告 amp;Toad 结合 Execute to Parse %为负值,求助 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'tsaleBiz' d 这个Spring配置异常怎么解决,高手帮忙看看。 vb.net怎么动态创建access数据库和表 特急VB中动态创建access数据库以及数据库表 VB中怎么动态创建access数据库以及数据库表 vb动态建立一个access数据库 如何利用ACCESS建立数据库,还有设计表结构,和如何添加数据呢?? java面试题谁能帮我回答 如何提升Active Dataguard 与主库的同步速度 Oracle 的dataguard里的备库是不是只需要安装软件而不需要建库呀? redis leftpop key存在 但是查不出来 数据库树形结构查询 哪位大侠指点下SQL语句怎么写 高分求解 C#里怎么使用ListView控件实现数据库的增删改查,要求使用三层架构分为UI层BLL层DAL层 求源码 求解 请问你有asp.net用三层架实现数据库的增删改查程序么?一个用户的注册、登陆页面;修改和删除用户名和密码 c#实现增删查改的三层架构winform小程序 asp.net三层架构实现增删改查 求高手用c# winform三层架构 来写一个增删改查或者用户登录的程序。刚接触三层,希望以此参考学习。 现在在培训班学习java开始做服务器的增删改查,但是用的三层架构的调用关系和各自是干嘛的老是捋不清楚, 关于三层架构的具体解释 .net页面实现数据的增删查改 删除?我的数据库是在这里配置的啊,我是用三层架构做的