c++数据库如何连接???

初学计算机,不知道数据库怎么连接。请多指教!... 初学计算机,不知道数据库怎么连接。请多指教! 展开
 我来答
匿名用户
2013-08-25
展开全部
1.c++连接连接access
程序代码:
using system.data;
using system.data.oledb;
..

string strconnection="provider=microsoft.jet.oledb.4.0;";
strconnection+=@"data source=c:begaspnetnorthwind.mdb";

oledbconnection objconnection=new oledbconnection(strconnection);
..

objconnection.open();
objconnection.close();

2.c++连接sql server
程序代码:

using system.data;
using system.data.sqlclient;
..

string strconnection="user id=sa;password=;";
strconnection+="initial catalog=northwind;server=yoursqlserver;";
strconnection+="connect timeout=30";

sqlconnection objconnection=new sqlconnection(strconnection);
..

objconnection.open();
objconnection.close();

3.c++连接mysql
程序代码:
using mysqldrivercs;

// 建立数据库连接
mysqlconnection dbconn;
dbconn = new mysqlconnection(new mysqlconnectionstring("localhost","mysql","root","",3306).asstring);
dbconn.open();

// 执行查询语句
mysqlcommand dbcomm;
dbcomm = new mysqlcommand("select host,user from user",dbconn);

// 读取数据
mysqldatareader dbreader = dbcomm.executereaderex();

// 显示数据
try
{
while (dbreader.read())
{
console.writeline("host = {0} and user = {1}", dbreader.getstring(0),dbreader.getstring(1));
}
}
finally
{
dbreader.close();
dbconn.close();
}

//关闭数据库连接
dbconn.close();

4.c++连接ibm db2
程序代码:
oledbconnection1.open();
//打开数据库连接
oledbdataadapter1.fill(dataset1,"address");
//将得来的数据填入dataset
datagrid1.databind();
//绑定数据
oledbconnection1.close();
//关闭连接

//增加数据库数据
在web form上新增对应字段数量个数的textbox,及一个button,为该按键增加click响应事件代码如下:

this.oledbinsertcommand1.commandtext = "insertsintosaddress(name,
email, age, address) values
(’"+textbox1.text+"’,’"+textbox2.text+"’,’"+textbox3.text+"’,’"+textbox4.text+"’)";
oledbinsertcommand1.connection.open();
//打开连接
oledbinsertcommand1.executenonquery();
//执行该sql语句
oledbinsertcommand1.connection.close();
//关闭连接
匿名用户
2013-08-25
展开全部
1、在stdafx.h文件最后(即#endif // _AFX_NO_AFXCMN_SUPPORT下面)添加:
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("EOF","adoEOF")

2、初始化COM:
AfxOleInit();//这行代码要放在功能执行前,如果是基于对话框建立的程序,那就放在第一个对话框类的OnInitDialog()函数的return TRUE;前

3、在用到数据库的地方:
_ConnectionPtr m_pConnection;///声明数据库连接变量
_RecordsetPtr m_pRecordset;///声明数据库集合变量
CString strCn;
strCn.Empty();

(1)连接数据库
HRESULT hr;
try
{
_variant_t RecordsAffected;
hr = m_pConnection.CreateInstance("ADODB.Connection");///创建Connection对象
if(SUCCEEDED(hr))
{
hr = m_pConnection->Open("DSN=test;UID=;PWD=;","","",adModeUnknown);///连接数据库
}
}
catch( _com_error e)///捕捉异常
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);///显示错误信息
}

(2)通过SQL读数据
CString sql;
try
{
m_pRecordset.CreateInstance("ADODB.Recordset");
m_pRecordset->Open((_variant_t)sql,_variant_t((IDispatch*)m_pConnection,true),adOpenStatic,adLockOptimistic,adCmdText);
}
catch(_com_error e)///捕捉异常
{
CString errorMessage = e.ErrorMessage();
AfxMessageBox("读取数据时出错:"+sql+errorMessage);///显示错误信息
}

(3)通过sql语句添加、修改、删除记录
_variant_t RecordsAffected;

try
{
m_pConnection->Execute((_bstr_t)Sql,&RecordsAffected,adCmdText);
}
catch(_com_error *e)
{
AfxMessageBox(e->ErrorMessage());
}

采用C++代码,而且又是使用ADO,看来只能够使用Borland C++ Builder和Visual C++了。

拿BCB举例:
拖一个ADOConnection组件到Form上,点击该组件属性面板ConnectionString后面的...,依次点选:
Use Connection String、
Build、
Microsoft OLE DB Provider for SQL Server、
下一步、
设置SQL Server信息,测试连接,成功后确定即可。

设置如下代码:
ADOConnection1->LoginPrompt = false;
ADOConnection1->Connected = true;
运行一下看看。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
推荐于2016-06-26
展开全部
库文件的链接:
VC++ 6.0直接在工具栏-生成-里面就有一个链接的
或者在文件中直接用这个语句
#pragma comment(lib,“你想用的库文件.lib”)
格式就是这样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式