‘壹’ 如何在C/C++程序中使用数据库
一般要看使用的数据库。如果 操作 sql server 需要用到 ADO 驱动,这种驱动使用MFC做的包装类比较多一些,在控制台直接编写代码可能稍显繁琐。
如果操作mysql,在安装mysql的时候,有相应的include头文件和库文件,可以在自己的IDE开发环境中进行设置。
第一种,数据库厂商提供的C变种,比如oracle的proc-c,简单点说,就是在C嵌入sql代码来实现数据库的访问。
第二种,数据库厂商提供的api,比如oracle的OCI。
‘叁’ c/c++写服务器一般用什么方式访问数据库的
要做服务器端的话数据库就是放在你的服务器上的, 数据库会提供相应的访问接口, 具体使用方式可以搜一下"C++连接数据库"之类的
http是客户端访问服务器才用得到, 直接操作数据库的总是服务器端而不是客户端
‘肆’ C#如何访问Access数据库
//
连接
OleDbConnection
cn
=
new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
Data
Source=C:\\test.mdb;");
cn.Open();
cn.Close();
//
读取数据到DataTable
OleDbConnection
cn
=
new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
Data
Source=C:\\test.mdb;");
DataTable
userTbl
=
new
DataTable();
OleDbDataAdapter
da
=
new
OleDbDataAdapter("SELECT
*
FROM
[User]",
cn);
da.Fill(userTbl);
//
插入一条记录
OleDbConnection
cn
=
new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
Data
Source=C:\\test.mdb;");
OleDbCommand
cmd
=
new
OleDbCommand("INSERT
INTO
[User]
([ID],
[UserName],
[UserPassword])
VALUES
(1,
'user_ab',
'123')",
cn);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
//
更新
OleDbConnection
cn
=
new
OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
Data
Source=C:\\test.mdb;");
OleDbCommand
cmd
=
new
OleDbCommand("UPDATE
[User]
SET
[UserPassword]='newpwd'
WHERE
[UserName]='user_ab'",
cn);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
‘伍’ C/S模式 客户端如何访问数据库 数据库是用JDBC-ODBC桥连 是ACCESS数据库
你可以select
*
from
数据库
A
where
A.登陆名=“输入的登陆名”
and
A.密码="输入的密码"
看结果有没有不就知道了
‘陆’ 如何在客户端访问服务器端的数据库(VC++)
1.用数据库自带的客户端管理工具访问修改;
2.去管理工具->数据源,建立数据源,然后再vc中建立一个数据库的工程(Database
project),也可以访问并修改。具体操作可以去网上搜;
3.可以用ODBC或ADO自己编程实现
那就用ODBC写吧,如果是MFC的,用CDATABASE就可以,里面好多方法都有封装,去下载一个ODBC编程的例子看看
‘柒’ 如何使用mysql的C接口访问mysql数据库
调用mysql数据库API。
去官网下载mysql c API库文件,然后安装一下,每个调用数据库的函数都有相关解释,直接参照函数解释进行编程就行了。
注意编写makefile的时候把相关依赖库加入
‘捌’ 如何用C语言连接MYSQL数据库
1、配置ODBC数据源。
2、使用SQL函数进行连接。
对于1、配置数据源,配置完以后就可以编程操作数据库了。
对于2、使用SQL函数进行连接,参考代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#include<windows.h>
#include<sql.h>
#include<sqlext.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身份验证,第二、三参数可以是
‘玖’ c语言怎样连接数据库
1、配置ODBC数据源。
2、使用SQL函数进行连接。
对于1、配置数据源,配置完以后就可以编程操作数据库了。
对于2、使用SQL函数进行连接,参考代码如下:
#include<windows.h>
#include<sql.h>
#include<sqlext.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);
}