本篇文章给大家谈谈c语言访问gbase数据库,以及连接gbase数据库对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
1、用c语言怎么连接数据库呢?2、纯C语言怎样连接数据库3、GBase 8a支持连接C语言吗4、怎样在gbase8s数据库中添加C语言的用户自定义例程(udr)?5、用C语言怎么实现与数据库的连接
用c语言怎么连接数据库呢?
1、配置ODBC数据源。
2、使用SQL函数进行连接。
对于1、配置数据源,配置完以后就可以编程操作数据库了。
对于2、使用SQL函数进行连接,参考代码如下:
#includewindows.h
#includesql.h
#includesqlext.h
void main()
{
HENV henv; //环境句柄
HDBC hdbc; //数据源句柄
HSTMT hstmt; //执行语句句柄
unsigned char datasource[]=”数据源名称”; //即源中设置的源名称
unsigned char user[]= “用户名”; //数据库的帐户名
unsigned char pwd[]= “密码”; //数据库的密码
unsigned char search[]=”select xm from stu where xh=0″;
SQLRETURN retcode; //记录各SQL函数的返回情况
// 分配环境句柄
retcode= SQLAllocEnv(henv); // 等介于 SQLAllocHandle(SQL_HANDLE_ENV, SQL_NULL
, henv);
// 设置ODBC环境版本号为3.0
retcode= SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (void*)SQL_OV_ODBC3, 0);
// 分配连接句柄
retcode= SQLAllocConnect(henv,hdbc); // 等介于 SQLAllocHandle(SQL_HANDLE_DBC, henv, hdbc);
//设置连接属性,登录超时为*rgbValue秒(可以没有)
// SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (SQLPOINTER)(rgbValue), 0);
//直接连接数据源
// 如果是windows身份验证,第二、三参数可以是
,也可以是任何字串
//SQL_NTS 即 “
retcode= SQLConnect(hdbc,datasource, SQL_NTS, user, SQL_NTS , pwd, SQL_NTS );
//分配语句句柄
retcode= SQLAllocStmt(hdbc,hstmt); // 等介于 SQLAllocHandle(SQL_HANDLE_STMT, hdbc, hstmt);
//直接执行查询语句
retcode=SQLExecDirect(hstmt,search,SQL_NTS);
//将数据缓冲区绑定数据库中的相应字段(i是查询结果集列号,queryData是绑定缓冲区,BUFF_LENGTH是缓冲区长度)
SQLBindCol(hstmt, i, SQL_C_CHAR, queryData[i-1], BUFF_LENGTH, 0);
//遍历结果集到相应缓冲区 queryData
SQLFetch(hstmt);
/*
*对遍历结果的相关操作,如显示等
*/
//注意释放顺序,否则会造成未知错误!
SQLFreeHandle(SQL_HANDLE_STMT, hstmt);
SQLDisconnect(hdbc);
SQLFreeHandle(SQL_HANDLE_DBC, hdbc);
SQLFreeHandle(SQL_HANDLE_ENV, henv);
}
纯C语言怎样连接数据库
你先配置数据库
然后举个例子,连接SQL
我连access的给你看一下
别忘了 mfc AfxOleInit(); 或者 win32 coInitial什么东东(初始化com的)
// 打开数据库
strDBClass.Format(_T(“Provider=Microsoft.Jet.OLEDB.4.0;Data Source=%s;Jet OLEDB:Database Password=%s”), m_strUnEntryptMdbFilePath,m_strMDBPassword);
// 创建连接
HRESULT hr = m_pConnection.CreateInstance(_uuidof(Connection));
_ConnectionPtr m_pConnection-Open(m_strDBClass,_T(“”),_T(“”),adConnectUnspecified);
// 声明表单指针
_RecordsetPtrpBandRecordset;
pBandRecordset.CreateInstance(__uuidof(Recordset));
// 执行语句
CString strSQL(L”SELECT * FROM [Band]”);
m_pConnection-Execute((LPCTSTR)strSQL,NULL,0);
// 提取某一项 例如BandInfo
int iBandInfo = wcscmp(colum, L”BandInfo”);
while(!recordsetPtr-adoEOF)
{
var = recordsetPtr-GetCollect(colum);
if(var.vt != VT_NULL)
strName = (LPCSTR)_bstr_t(var);
recordsetPtr-MoveNext();
}
GBase 8a支持连接C语言吗
您是想问GBase8a支持连接CAPI吗?支持。GBase8a数据库支持ODBC、JDBC、ADO.NET等接口规范;支持CAPI、PythonAPI等接口。GBase8a接口驱动可以有效实现对上层应用请求的负载进行均衡,应用调用接口驱动配置多个集群节点的IP,接口驱动的内部进行连接的负载均衡。
怎样在gbase8s数据库中添加C语言的用户自定义例程(udr)?
C语言的UDR是用C语言编写的用DataBlade APt的server 端应用来与数据库服务器通讯的用户自定义例程。如何通过添加UDR的方式增加数据库函数?
添加UDR主要分为以下几个步骤
1.设计待添加UDR的用法
2.编写利用DataBlade API 函数的C例程与数据库服务器交互
DataBlade API 提供 mi_ 类型的数据类型,
3.编译链接C例程创建一个共享库文件( .so/ .lib文件),将共享库放到相应数据库服务器上
4.在相应函数库( .sql文件)中记录C例程 (CREATE FUNCTION / CREATE PROCEDURE)
CREATE FUNCTION 函数名(参数类型)
RETURN 返回值数据类型
WITH (函数性质)
external name ‘ 共享库路径‘
Language C;
5.执行UDR创建的函数
用C语言怎么实现与数据库的连接
#includemysql/mysql.h
#includestdio.h
intmain()
{
MYSQL*conn;
MYSQL_RES*res;
MYSQL_ROWrow;
char*server=”www.easyaq.com”;//本地连接
char*user=”root”;//
char*password=”525215980″;//mysql密码
char*database=”student”;//数据库名
char*query=”select*fromclass”;//需要查询的语句
intt,r;
conn=mysql_init(NULL);
if(!mysql_real_connect(conn,server,user,password,database,0,NULL,0))
{
printf(“Errorconnectingtodatabase:%s\n”,mysql_error(conn));
}else{
printf(“Connected…\n”);
}
t=mysql_query(conn,query);
if(t)
{
printf(“Errormakingquery:%s\n”,mysql_error(conn));
}else{
printf(“Querymade…\n”);
res=mysql_use_result(conn);
if(res)
{
while((row=mysql_fetch_row(res))!=NULL)
{
//printf(“num=%d\n”,mysql_num_fields(res));//列数
for(t=0;tmysql_num_fields(res);t++)
printf(“%8s”,row[t]);
printf(“\n”);
}
}
mysql_free_result(res);
}
mysql_close(conn);
return0;
}
扩展资料
C语言使用注意事项:
1、指针是c语言的灵魂,一定要灵活的使用它:
(1)、指针的声明,创建,赋值,销毁等
(2)、指针的类型转换,传参,回调等
2、递归调用也会经常用到:
(1)、递归遍历树结构
(2)、递归搜索
关于c语言访问gbase数据库和连接gbase数据库的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。