c连接windows数据库
① windows系统下,c如何连接oracle数据库
首先,这类问题应该问到编程区去,这是软件喔
########insert.pc############
#include <stdio.h>
EXEC sql INCLUDE SQLCA;
void insert (char password_[6],char id_[20],int balance_)
{
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR user[20],pass[20],tnsname[20];
char password[6];
char id[20];
int balance;
EXEC SQL END DECLARE SECTION;
strcpy(user.arr,"scott");
user.len=(unsigned short)strlen((char *)user.arr);
strcpy(pass.arr,"tiger");
pass.len=(unsigned short)strlen((char *)pass.arr);
strcpy(tnsname.arr,"demo1");
tnsname.len=(unsigned short)strlen((char *)tnsname.arr);
strcpy(id,id_);
strcpy(password,password_);
balance = balance_;
EXEC SQL CONNECT :user IDENTIFIED BY :pass USING :tnsname;
EXEC SQL insert into bank_bingo values (:id , :password , :balance);
EXEC SQL COMMIT WORK;
EXEC SQL commit work release;
}
#################main.c####################
#include <stdio.h>
extern void insert (char password_[6],char id_[20],int balance_);
int main(int argc , char ** argv){
char id [20] = "10001";
char password[6] = "123";
int balance = 10000;
insert(password , id , balance);
return 0;
}
############################################
② WIN764位+VS2010怎么连接远程sybase数据库啊,求助
一、添加sybase数据源在C:\Windows\SysWOW64下找到:odbcad32.exe这个文件,双击打开。
点击添加按钮,选择 对应的 驱动,然后就可用添加连接Oracle/Sybase的ODBC的数据源了。
二、sybase(ODBC)驱动安装
首先找一台已经安装了SYBASE的计算机,把SYBASE安装文件夹下面的ODBC文件夹中的几个DLL文件拷贝到要安装的计算机中,然后再从已安装SYBASE的计算机中将注册表中的
HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Sybase ASE ODBC Driver
导出,当然还要修改一下导出文件中的DLL文件的路径,还要在导出的注册表文件中加入下边这么一行
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"Sybase ASE ODBC Driver"="Installed"
在要安装的计算机中导入。
总结:将以下信息保存为.reg文件,执行即可。
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\Sybase ASE ODBC Driver]
"AltDefaults"="1"
"APILevel"="1"
"ConnectionFunctions"="YYY"
"CPTimeout"="60"
"Driver"="C:\\sybase\\ODBC\\SYODASE.DLL"
"DriverODBCVer"="04.10"
"FileUsage"="0"
"Setup"="C:\\sybase\\ODBC\\SYODASES.DLL"
"SQLLevel"="0"
"HelpRootDirectory"="C:\\sybase\\ODBC\\help"
"UsageCount"=dword:00000002
[HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers]
"Sybase ASE ODBC Driver"="Installed"
③ 用C语言如何对MySQL数据库进行操作
里的大部分代码参考了MySQL发行包里面的.c源文件,大家也可以去里面找找相关的代码,下面这段代码实现了连接到本地MySQL服务器上9tmd_bbs_utf8数据库,从数据表tbb_user中根据输入的userid取得该用户的用户名并打印输出到终端。
if defined(_WIN32) || defined(_WIN64)为了支持windows平台上的编译
#include <windows.h> #endif #include <stdio.h> #include <stdlib.h> #include "mysql.h"
我的机器上该文件在/usr/local/include/mysql下
定义MySQL数据库操作的宏,也可以不定义留着后面直接写进代码
define SELECT_QUERY "select username from tbb_user where userid = %d" int main(int argc, char **argv)char **argv 相当于 char *argv[] {
MYSQL mysql,*sock;定义数据库连接的句柄,它被用于几乎所有的MySQL函数
MYSQL_RES *res;查询结果集,结构类型
MYSQL_FIELD *fd ;包含字段信息的结构
MYSQL_ROW row ;存放一行查询结果的字符串数组
char qbuf[160];存放查询sql语句字符串
if (argc != 2) { //检查输入参数 fprintf(stderr,"usage : mysql_select <userid>\n\n"); exit(1); } mysql_init(&mysql); if (!(sock = mysql_real_connect(&mysql,"localhost","dbuser","dbpwd","9tmd_bbs_utf8",0,NULL,0))) { fprintf(stderr,"Couldn't connect to engine!\n%s\n\n",mysql_error(&mysql)); perror(""); exit(1); } sprintf(qbuf,SELECT_QUERY,atoi(argv[1])); if(mysql_query(sock,qbuf)) { fprintf(stderr,"Query failed (%s)\n",mysql_error(sock)); exit(1); } if (!(res=mysql_store_result(sock))) { fprintf(stderr,"Couldn't get result from %s\n", mysql_error(sock)); exit(1); } printf("number of fields returned: %d\n",mysql_num_fields(res)); while (row = mysql_fetch_row(res)) { printf("Ther userid #%d 's username is: %s\n", atoi(argv[1]),(((row[0]==NULL)&&(!strlen(row[0]))) ? "NULL" : row[0])) ; puts( "query ok !\n" ) ; } mysql_free_result(res); mysql_close(sock); exit(0); return 0;
为了兼容大部分的编译器加入此行
}
编译的时候,使用下面的命令
gcc -o mysql_select ./mysql_select.c -I/usr/local/include/mysql -L/usr/local/lib/mysql -lmysqlclient (-lz) (-lm) 后面两个选项可选,根据您的环境情况运行的时候,执行下面的命令
./mysql_select 1
将返回如下结果:
number of fields returned: 1 Ther userid #1 's username is: Michael query ok !
上面的代码我想大部分都能看明白,不明白的可以参考一下MySQL提供的有关C语言API部分文档,各个函数都有详细说明,有时间我整理一份常用的API说明出来。