c语言连接数据库的头文件,c程序连数据库,<odbcss.h>这个头文件找不到

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

用ODBC连SqlServer2008

百度上资料少啊,这个文件尖括号的应该是系统自带头文件吧,编译器报错找不到啊怎么办

有人遇到过这个问题吗

源码贴上

#include

#include

#include

#include

#include

#include

#include

SQLHENV henv = SQL_NULL_HENV;

SQLHDBC hdbc1 = SQL_NULL_HDBC;

SQLHSTMT hstmt1 = SQL_NULL_HSTMT;

//#define SQL_MAX_DSN_LENGTH200

#define MAXNAME200

int main(void)

{

char id[200]="hr123";

char name[200]="mike.shao";

char tel[200]="1433455";

SQLINTEGER p;

RETCODE retcode;

UCHAR szDSN[SQL_MAX_DSN_LENGTH+1] = "csql";

UCHAR szUID[MAXNAME] = "sa";

UCHAR szAuthStr[MAXNAME] = "root";

//SQL语句

UCHAR pre_sql[200] = "insert into EMPLOYEE values(?,?,?)";

//1.连接数据源

//分配ODBC环境句柄

retcode = SQLAllocHandle(SQL_HANDLE_ENV, NULL, &henv);

//告诉ODBC这是一个3.0标准的应用程序

retcode = SQLSetEnvAttr(henv, SQL_ATTR_ODBC_VERSION, (SQLPOINTER)SQL_OV_ODBC3, SQL_IS_INTEGER);

// 分配连接句柄并建立连接

retcode = SQLAllocHandle(SQL_HANDLE_DBC, henv, &hdbc1);

retcode = SQLConnect(hdbc1, szDSN,(SWORD)strlen(szDSN), szUID, (SWORD)strlen(szUID), szAuthStr,(SWORD)strlen(szAuthStr));

//判断连接是否成功

if((retcode != SQL_SUCCESS) && (retcode != SQL_SUCCESS_WITH_INFO)){

printf("连接失败!\n");

return -1;

}

printf("connect successful\n");

//2.创建并执行一条或多条SQL语句

/*

1.分配一个语句句柄(statement handle)

2.创建SQL语句

3.执行语句

4.销毁语句

*/

retcode = SQLAllocHandle(SQL_HANDLE_STMT, hdbc1, &hstmt1);

//绑定参数方式

p = SQL_NTS;

//1预编译

SQLPrepare(hstmt1,pre_sql,29); //第三个参数与数组大小相同,而不是数据库列相同

//2绑定参数值

SQLBindParameter(hstmt1,1,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,&id,0,&p);

SQLBindParameter(hstmt1,2,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,&name,0,&p);

SQLBindParameter(hstmt1,3,SQL_PARAM_INPUT,SQL_C_CHAR,SQL_CHAR,200,0,&tel,0,&p);

retcode = SQLExecute(hstmt1);

if((retcode != SQL_SUCCESS) && (retcode != SQL_SUCCESS_WITH_INFO)){

printf("SQLExecute error!\n");

}

//释放语句句柄

SQLDisconnect(hdbc1);

SQLCloseCursor (hstmt1);

SQLFreeHandle (SQL_HANDLE_STMT, hstmt1);

SQLFreeHandle(SQL_HANDLE_DBC, hdbc1);

SQLFreeHandle(SQL_HANDLE_ENV, henv);

printf("ok\n");

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值