1.用#import指令引入ADO类型库
我们在stdafx.h中加入如下语句:
#import "c:program filescommon filessystemadomsado15.dll" no_namespace rename("EOF","adoEOF") 。
这一语句有何作用呢?其最终作用同我们熟悉的#i nclude类似,编译的时候系统会为我们生成msado15.tlh,ado15.tli两个C++头文件来定义ADO库。
几点说明:
(1) 您的环境中msado15.dll不一定在这个目录下,请按实际情况修改
(2) 在编译的时候肯能会出现如下警告,对此微软在MSDN中作了说明,并建议我们不要理会这个警告。msado15.tlh(405) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
2、初始化OLE/COM库环境
必须注意的是,ADO库是一组COM动态库,这意味应用程序在调用ADO前,必须初始化OLE/COM库环境。在MFC应用程序里,一个比较好的方法是在应用程序主类的InitInstance成员函数里初始化OLE/COM库环境。
BOOL CMyAdoTestApp::InitInstance()
{
if(!AfxOleInit())//这就是初始化COM库
{
AfxMessageBox(“OLE初始化出错!”)
return FALSE
}
}
连接2007Access
//连接数据库
OleDb
Connection
con
=
new
OleDbConnection()
//在Data
Source中写明
Access
2007的文件的路径
con.ConnectionString
="Provider=Microsoft.ACE.OLEDB.12.0Data
Source=C:\\Users\\pm\\Desktop\\1.accdb"
con.Open()
OleDbCommand
cmd
=
new
OleDbCommand()
cmd.Connection
=
con
cmd.CommandText
=
"select
*
from
1"//1是表名
OleDbDataReader
reader
=
cmd.ExecuteReader()
while
(reader.Read())
{
listBox1.Items.Add(reader.GetValue(0))
}
reader.Close()
con.Close()
你都说了是ADO.NET连接
ACCESS数据库
你那个是SqlConnection
肯定不行咯
首先你正确安装了MYSQL的数据库驱动程序(mysql-connector-odbc-5.1.6-win32.msi )1.在桌面上新建一个空的文本文件mysql.txt,重命名为mysql.udl;
2.双击这个mysql.udl文件,打开“数据库连接属性”对话框,在“提供程序”页选择”Micrsoft Ole DB Provider for ODBC Drivers“, 点击下一步;
4.点击“编译”,d出“选择数据源”,在“文件数据源”页中点击”新建“,在创建新数据源选择MYSQL的驱动程序”MySQL ODBC 5.1 Driver";
5.点击“下一步”,点击"浏览",在”另存为“对话框中文件名称写入“mysql",点击”下一步“,点击”完成“;
6.在"MySQL Connnettor/ODBC Data Source Configuration"对话框中按需求(如下图);
7.点击“Test”,看连接是否成功,连接成功会有个”Connenction successful“提示框,需要更详细的设置点击“Details”,点击”OK“,设置完成;
8.返回“数据库连接属性”对话框,点击“测试连接”,成功的话就是我们要的连接字符串。
下面是我本机测试的ADO连接字符串,服务器localhost,数据库meismon,用户名root,密码123456
Provider=MSDASQL.1Persist Security Info=TrueExtended Properties="Driver=MySQL ODBC 5.1 DriverSERVER=localhostUID=rootPWD=123456DATABASE=seismonPORT=3306COLUMN_SIZE_S32=1"
注:关闭“数据库连接属性”后再次双击mysql.udl打开该对话框,会因为密码丢失问题点击“测试连接”会连接不上,把“数据库连接属性”对话框上的密码等补全就可以了,用文本方式打开mysql.udl文件就是完整的连接字符串。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)