如何用VC6.0(C++语言)连接自己用SQL2008做的数据库?求解! 50

希望能给出详解,听说能用ADO方法,但是不会,非常希望能给我一个带解释的详细程式码!... 希望能给出详解,听说能用ADO方法,但是不会,非常希望能给我一个带解释的详细程式码! 展开
 我来答
aniu0418
2013-04-16 · TA获得超过605个赞
知道小有建树答主
回答量:165
采纳率:0%
帮助的人:63.5万
展开全部

先照下面这个教程的前两步设置好,然后就能调用_ConnectionPtr、_RecordsetPtr和_CommandPtr三个指针。

http://wenku.baidu.com/view/396ffb87d4d8d15abe234e71.html

_ConnectionPtr是用来建立连接的;_RecordsetPtr是用来对数据库记录集进行操作的,记录集说白了就是数据库的一个小的副本,你不能直接操作数据库,所有的操作都是对记录集操作,然后更新,就反应到数据库上边了;_CommandPtr还没用过,一般前两个就够了。

这几个指针虽然还算方便,但是比较繁琐的,我从一本书上找到了几个类将这几个指针重新封装了一下,使用起来更方便了。这本书是《多层结构的数据库应用系统的开发:VC6.0+CSocket+ADO+SQL server 》,书里讲的更详细。


下面是我写的一个例子,不太好,你就参考一下吧。

头文件.h

CSbtAdoCnn m_AdoCnn;    //_ConnectionPtr的封装

CSbtAdoRst m_AdoRst;    //_RecordsetPtr的封装


源文件.cpp

//数据库操作

CString strSource = m_AdoExc.GetStrSource();    //连接字符串获取,可以直接写,后边那个函数请忽视

CString strUser = m_AdoExc.GetStrUser();    //用户名获取

CString strPwd = m_AdoExc.GetStrPwd();    //密码获取

CString strSQL;    //SQL命令,决定了打开什么样的记录集


CSbtStrArr m_FieldValues;    //CSbtStrArr是将CStringArray重新封装的一个类,m_FieldValues用存记录集的一行数据

m_AdoCnn.Open(strSource, strUser, strPwd);        //先建立连接

strSQL = "SELECT * FROM mydatabase";

m_AdoRst.Open(                //这几个参数参见CSbtAdoRst里的说明

m_AdoCnn.GetCnnPtr(),

strSQL,

adOpenStatic,

adLockOptimistic,

adCmdText);

m_AdoRst.MoveFirst();    //移到ado记录集第一行

while(!m_AdoRst.IsEOF())

{

m_AdoRst.GetFieldsValue(m_FieldValues);    //取得一行记录

//------------------------------------------

//你的操作

//==========================

m_AdoRst.MoveNext();    //移到下一行

}

m_AdoRst.Close();

m_AdoCnn.Close();


匿名用户
2013-04-16
展开全部
说个我用过的ado封装类:
http://wenku.baidu.com/view/0105b76daf1ffc4ffe47ac41.html

1. 导入这个ado类
2. 在构造函数或 其他地方连接数据库
if( !m_ado.Connect(CAdoDB::DBT_SQL,"数据库名","密码","用户","主机IP"))
cout << "Connect" <<m_ado.GetLastError() <<endl;
3. SQL语句 增删改查
例:增加数据
CString szSQL;
szSQL.Format("INSERT INTO t_admin VALUES('%s' , '%s' )",admin.ID,admin.Pass);

if(m_ado.ExecSQL(szSQL) <= 0) //执行 SQL语句
{
cout << "Admin:Add_ID:" <<m_ado.GetLastError() <<endl;
}

4. 要想知道更多- -。可以自己百度找找,很多资料的说。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sj005bd
2013-04-16 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:133
采纳率:0%
帮助的人:101万
展开全部
这个很麻烦,要开端口,还要设置环境。加我QQ692993722QQ上讲
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式