c语言编写cgi,C语言写CGI

// C语言开发网站1.cpp : Defines the entry point for the console application.

//

#include "stdafx.h"

#include

#include

//需要引入要用到的头文件

#include

#include

#include

//最大缓冲区长度

#define MAXBUFFLEN 255

//登录超时

#define LOGIN_TIMEOUT 30

//检查数据库连接错误

#define CHECKDBSTMTERROR(result,hstmt) if(SQL_ERROR==result){ShowDBStmtError(hstmt);return;}

//数据库连接字符串

SQLCHAR ConnStrIn[MAXBUFFLEN]="DRIVER={MySQL ODBC 5.2w Driver};SERVER=172.16.78.220;UID=root;PWD=root;DATABASE=db1;charset=gbk";

SQLCHAR ConnStrOut[MAXBUFFLEN];//暂且不知道

//操作数据库所要用到的类型

SQLHENV henv=NULL;//环境句柄

SQLHDBC hdbc=NULL;//数据库连接句柄

SQLHSTMT stmt=NULL;//SQL语句

SQLRETURN result=NULL;//执行结果

bool Create_connection();

int main(int argc, char* argv[])

{

printf("Contenttype:text/html\n\n");

printf("\n");

printf("

\n");

printf("超链接\n");

printf("

H1标签

\n");

printf("%s",getenv("SERVER_SOFTWARE"));

printf("

这是一个div
\n");

printf("

");

printf("");

printf("");

printf("

");

bool res=Create_connection();

if(res==false)

{

printf("数据库连接失败");

return 0;

}

SQLRETURN ress=NULL;

//初始化语句句柄

result = SQLAllocHandle(SQL_HANDLE_STMT,hdbc, &stmt);

result = SQLPrepare(stmt,(SQLCHAR*)"select CH from t_test",SQL_NTS);

result =SQLExecute(stmt);

SQLINTEGER cbsatid=SQL_NTS;

while (SQLFetch(stmt)!=SQL_NO_DATA_FOUND)

{

TCHAR name[30];

//ZeroMemory(name,sizeof(name));

SQLGetData(stmt,1,SQL_C_CHAR,name,20,&cbsatid);

printf("读取MYSQL值为:%s\n",name);

}

//释放语句

SQLFreeStmt(stmt,SQL_CLOSE);

//关闭连接

SQLDisconnect(hdbc);

//释放连接句柄

SQLFreeHandle(SQL_HANDLE_DBC,hdbc);

SQLFreeHandle(SQL_HANDLE_ENV,henv);

char *str=getenv("QUERY_STRING");

printf("\nURL参数:%s",str);

printf("\n");

printf("\n");

return 0;

}

//创建数据库连接

bool Create_connection()

{

//分配环境句柄

result= SQLAllocHandle(SQL_HANDLE_ENV,SQL_NULL_HANDLE,&henv);

//设置环境管理属性

result=SQLSetEnvAttr(henv,SQL_ATTR_ODBC_VERSION,(void *)SQL_OV_ODBC3,0);

//分配连接句柄

result=SQLAllocHandle(SQL_HANDLE_DBC,henv,&hdbc);

//设置连接属性

result=SQLSetConnectAttr(hdbc, SQL_LOGIN_TIMEOUT, (void*)LOGIN_TIMEOUT, 0);

//连接数据库

result=SQLDriverConnect(hdbc,NULL,ConnStrIn,SQL_NTS,ConnStrOut,MAXBUFFLEN,(SQLSMALLINT *)0,SQL_DRIVER_NOPROMPT);

return true;

}

0818b9ca8b590ca3270a3433284dd417.png

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值