c语言怎样连接数据库(c语言和数据库连接)

 我来答
猪八戒网
2023-04-26 · 百度认证:重庆猪八戒网络有限公司官方账号
猪八戒网
猪八戒网(zbj.com)创建于2006年,现已形成猪八戒网、天蓬网和线下八戒工场的“双平台+一社区”服务模式,是中国领先的人才共享平台。
向TA提问
展开全部

1、配置ODBC数据源。

2、使用SQL函数进行连接。

对于1、配置数据源,配置完以后就可以编程操作数据库了。

对于2、使用SQL函数进行连接,参考代码如下:

#include

#include

#include

voidmain()

{

HENVhenv;//环境句柄

HDBChdbc;//数据源句柄

HSTMThstmt;//执行语句句柄

unsignedchardatasource[]="数据源名称";//即源中设置的源名称

unsignedcharuser[]="用户名";//数据库的帐户名

unsignedcharpwd[]="密码";//数据库的密码

unsignedcharsearch[]="selectxmfromstuwherexh=0";

SQLRETURNretcode;//记录各SQL函数的返回情况

//分配环境句柄

retcode=SQLAllocEnv(&henv);//等介于(SQL_HANDLE_ENV,SQL_NULL

,&henv);

//设置ODBC环境版本号为3.0

retcode=(henv,SQL_ATTR_ODBC_VERSION,(void*)SQL_OV_ODBC3,0);

//分配连接句柄

retcode=(henv,&hdbc);//等介于(SQL_HANDLE_DBC,henv,&hdbc);

//设置连接属性,登录超时为*rgbValue秒(可以没有)

//(hdbc,SQL_LOGIN_TIMEOUT,(SQLPOINTER)(rgbValue),0);

//直接连接数据源

//如果是windows身份验证,第二、三参数可以是

,也可以是任何字串

//SQL_NTS即"

retcode=SQLConnect(hdbc,datasource,SQL_NTS,user,SQL_NTS,pwd,SQL_NTS);

//分配语句句柄

retcode=(hdbc,&hstmt);//等介于(SQL_HANDLE_STMT,hdbc,&hstmt);

//直接执行查询语句

retcode=(hstmt,search,SQL_NTS);

//将数据缓冲区绑定数据库中的相应字段(i是查询结果集列号,queryData是绑定缓冲区,BUFF_LENGTH是缓冲区长度)

SQLBindCol(hstmt,i,SQL_C_CHAR,queryData[i-1],BUFF_LENGTH,0);

//遍历结果集到相应缓冲区queryData

SQLFetch(hstmt);

/*

*对遍历结果的相关操作,如显示等

*/

//注意释放顺序,否则会造成未知错误!

(SQL_HANDLE_STMT,hstmt);

(hdbc);

(SQL_HANDLE_DBC,hdbc);

(SQL_HANDLE_ENV,henv);

}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式