帮忙用C++实现与数据库的连接

帮忙用C++实现与数据库的连接,第1张

用VC中的MFC吧,很好上手

#include <afxdb.h>

/* 连接数据库 */

CDatabase db

BOOL bRtn

try {

bRtn = db.OpenEx("DSN=数据源名UID=sa", CDatabase::noOdbcDialog)

}catch (CDBException *pDBEx) {

pDBEx->ReportError()

}catch (CMemoryException *pMemEx) {

pMemEx->ReportError()

}

if (!bRtn)

printf("连接数据库失败!")

/* *** 作结束后,关闭数据库 */

db.Close()

添加记录 *** 作

#include <afxdb.h>

CDatabase db

BOOL bRtn

CString sql

/* 1、连接数据库,见(1) */

/* 2、生成INSERT语句,赋给sql,例如: */

sql = "insert into student_table (s_sID, s_sName, s_sAge) values (‘001’, ‘ZhangSan’, 20)"

/* 3、往数据库中添加纪录 */

try {

db.ExecuteSQL(sql)

} catch (CDBException *pDBEx) {

pDBEx->ReportError()

}

/* 4、关闭数据库 */

db.Close()

删除记录 *** 作

#include <afxdb.h>

CDatabase db

BOOL bRtn

CString sql

/* 1、连接数据库,见(1) */

/* 2、生成DELETE语句,赋给sql,例如: */

sql = "delete from student_table where s_SID =’001’"

/* 3、从数据库中删除纪录 */

try {

db.ExecuteSQL(sql)

} catch (CDBException *pDBEx) {

pDBEx->ReportError()

}

/* 4、关闭数据库 */

db.Close()

修改记录 *** 作

#include <afxdb.h>

CDatabase db

BOOL bRtn

CString sql

/* 1、连接数据库,见(1) */

/* 2、生成UPDATE语句,赋给sql,例如: */

sql = "update from student_table set s_sName=‘LiSi’,s_sAge=21 where s_SID =‘001’"

/* 3、更新数据库中的纪录 */

try {

db.ExecuteSQL(sql)

} catch (CDBException *pDBEx) {

pDBEx->ReportError()

}

/* 4、关闭数据库 */

db.Close()

查询、统计 *** 作

#include <myRecordset.h>

CDatabase db

BOOL bRtn

CString sql

/* 1、连接数据库,见(1) */

/* 2、生成查询/统计语句,赋给sql,例如: */

sql = "Select * From student_table where s_sAge=20"

/* 3、打开记录集,查询/统计 */

CMyRecordset rs(&db)

try {

bRtn = rs.Open(CRecordset::snapshot,sql)

} catch(CDBException *pDBEx) {

pDBEx->ReportError()

} catch(CMemoryException *pMemEx) {

pMemEx->ReportError()

}

if(!bRtn) {

AfxMessageBox("Query table failed!",MB_OK|MB_ICONERROR)

return

}

/* 4、逐条获取查询结果 */

for(rs.MoveFirst()!rs.IsEOF()rs.MoveNext()) {

// TODO: Add code here

}

/* 5、关闭记录集、数据库 */

rs.Close()

db.Close()

注:对连接查询,可以先创建视图,再对视图进行查询。

首先在控制器中读取数据库中的数据,把相应的变量绑定到相应的参数上,再分配给相应的模板,然后在模板中遍历即可。

比如:

控制器中代码:

<?php

class FormController extends Controller {

public function insert(){

$form = M('table')

$result = $form->select()

$this->assign('data',$result)

$this->display('show.html')

}

}

?>

模板文件代码:

<foreach name="data" item="vo">

{$key}:{$vo.id}--{$vo.title}<br>

</foreach>


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6830910.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存