发布网友 发布时间: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()初始化成员函数里添加如下代码:
数据库连接就没问题了,剩下的就是功能模块了。