`

第一个 CGIC sqlite3 代码

阅读更多
提交页面 <html> <body onbeforeunload="RunOnBeforeUnload()">

插入

用户:
密码:
</body> </html> 处理页面add2.cgi 代码 #include <stdio.h> #include <string.h> #include <stdlib.h> #include "sqlite3.h" #include "cgic.h" int cgiMain() { printf("Content-type:text/html\n\n"); printf("<head><meta http-equiv="\&quot;Expires\&quot;" content="\&quot;0\&quot;"><meta http-equiv="\&quot;Cache-Control\&quot;" content="\&quot;no-cache\&quot;"><meta http-equiv="\&quot;Pragma\&quot;" content="\&quot;no-cache\&quot;"></head>"); sqlite3 *db=NULL; char *zErrMsg = 0; int rc; rc = sqlite3_open("test.db", &db); if(rc){ printf("Can't open database\n"); //这里改了。要是按原先的,会提示stderr未定义,我不知道为什么。哪位朋友知道一定要告诉我哦。 sqlite3_close(db); exit(1); } else printf("open test.db successfully!\n"); char username[241]; cgiFormString("username", username, 241); fprintf(cgiOut, "username:
\n");
cgiHtmlEscape(username);
fprintf(cgiOut, "
\n"); char password[241]; cgiFormString("password", password, 241); fprintf(cgiOut, "password:
\n");
cgiHtmlEscape(password);
fprintf(cgiOut, "
\n"); char sql[300]={'\0'}; //不能用指针! //插入数据 sprintf(sql, "INSERT INTO \"user\" VALUES('%s', '%s');", username,password); //sql = "INSERT INTO \"user\" VALUES('username', 'password');" ; sqlite3_exec( db , sql , 0 , 0 , &zErrMsg ); printf(sql); printf("插入数据成功!\n"); int nrow = 0, ncolumn = 0; char **azResult; //二维数组存放结果 //查询数据 /* int sqlite3_get_table(sqlite3*, const char *sql,char***result , int *nrow , int *ncolumn ,char **errmsg ); result中是以数组的形式存放你所查询的数据,首先是表名,再是数据。 nrow ,ncolumn分别为查询语句返回的结果集的行数,列数,没有查到结果时返回0 */ char *sql2 = "SELECT * FROM user"; sqlite3_get_table( db , sql2 , &azResult , &nrow , &ncolumn , &zErrMsg ); int i = 0 ; printf( "row:%d column=%d
" , nrow , ncolumn ); printf( "\nThe result of querying is : \n" ); for( i=0 ; i<( nrow + 1 ) * ncolumn ; i++ ) printf( "azResult[%d] = %s
", i , azResult[i] ); //释放掉 azResult 的内存空间 sqlite3_free_table( azResult ); sqlite3_close(db); //关闭数据库 return 0; } 请注意数据库文件 test.db的访问权限! 这里改成777!
分享到:
评论

相关推荐

    cgi c语言中sqlite3的使用

    cgi c语言中sqlite3的使用,调用sqlite3的api完成数据库的操作。

    CGIC库代码

    C语言编写的CGI库,代码和自带的测试程序

    cgic库源码分析

    cgic很小只有两千多行代码,分析整个库函数,并且注释。

    cgic_uploadfile.zip

    cgic_uploadfile.zip cgic_uploadfile.zip cgic_uploadfile.zip cgic_uploadfile.zip cgic_uploadfile.zip

    CGIC完全中文手册

    CGIC中文手册,根据官方英文文档翻译而来。其中关于文件上传和COOKIE部分还不完整

    CGIC实现文件上传

    用C语言库(CGIC)编写CGI,实现文件上传.doc

    CGIC206,cgi

    CGIC206开发库,CGI编写神器,懂得下载。

    cgic框架.rar

    1.使用时,直接把cgic.c与cgic.h文件加入到你的工程中,然后在main.c中加上头文件#include "cgic.h"即可 2.main.c文件中int main()用int cgiMain()替代。在cgiMain()中编写代码,把它看成主函数。

    cgic编写笔记

    cgic自己写的一个小测试,基于海思3531开发板

    cgic205库文件

    cgic在linux的安装文件 , 包含库文件

    Lccwin32 CGIC 开发包 (2.02)

    CGIC的公开全部原始代码,但商业应用需要支付相应授权费用获得许可。官方版本针对Gcc编译器发布,此为Lccwin32编译专用版。开发包中包含两个官方样例,我已经为Lccwin32进行了针对性修改。此开发包搭配之前我发布的...

    cgic开发包(解压即用)

    如鹏网《C语言也能干大事之C语言开发网站》课程里的cgic软件开发包(解压即用),通过该开发包可将cgic源码打包封装,供给服务器解析

    boa_cgic.zip

    boa_cgic配置,里面包括所有内容,使用平台为zynq7010

    CGIC源码和应用

    适合初学嵌入式web开发的学员,就这样描述吧

    cgic的用户手册(C语言)

    cgic的函数参考 cgic的变量参考 cgic的结果编码参考

    使用cgic來寫cgi的範例檔

    這是一份使用cgic資料庫來寫cgi的演示檔案

    cgic205.zip

    CGIC是一个功能比较强大的支持CGI开发的标准C库,并支持Linux,Unix和Windows等多操作系统。  boa与CGI工作机制:外部CGI程序与boa服务器进行通信、传递参数和处理结果是通过环境变量、命令行参数和标准输入来进行...

    CGIC简明教程目录(CGI篇)

    使用C语言的CGI库“CGIC”完成Web开发

    cgic.rar_cgic

    通用的cgic共享库,对于cgi编程人员来说,调用通用的cgic共享库,能提高编程效率

    cgic库源文件

    cgic.h 与 cgic.c

Global site tag (gtag.js) - Google Analytics