用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c代码库

HD软件工程嵌入式课程设计——网页后台CGI参考(查询功能之一)

2013-02-03 作者: DRAGON-Yeah举报

[c]代码库

#include <stdio.h>
#include <string.h>
#include <sqlite3.h>

  
static int callback(void *NotUsed, int argc, char **argv, char **azColName)
{
    int i;
    printf("<tr>");
    for(i=0; i<argc; i++){
        printf("<td>%s</td>", argv[i] ? argv[i] : "NULL");
    }
    printf("</tr>");
    return 0;
}
  
int main(int argc, char **argv){
    sqlite3 *db;
    char *zErrMsg = 0;
    int rc;
    
    rc = sqlite3_open("students.db", &db);
    if( rc ){
        printf("Can't open database: %s\n", sqlite3_errmsg(db));
        sqlite3_close(db);
        return(1);
    }
    printf("Content-Type:text/html\n\n");
    printf("<HTML>\n");
    printf("<HEAD><TITLE>Communication Records List</TITLE></HEAD>");
    printf("<BODY>");
    /*printf("<table  border=\"1\" bordercolor=\"#FF0000\" style=\"margin-left:550px; margin-top:50px\"><tr><td>Contacts</td></tr></table>");
*/
    printf("<table  border=\"1\" bordercolor=\"#FF0000\" style=\"margin-left:500px; margin-top:50px\">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Contacts<tr><td>number</td><td>Name</td><td>class</td></tr>");
    
    char *data;
    data = getenv("QUERY_STRING");   
    int class;  
    
    char  buf0[50];
    char  buf1[50];
    char *n,*m;
    n=buf0;
    m=buf1;

    if(data == NULL)
    {   
        printf("<P>ERROR</p>"); 
    }  
    else
    {
        sscanf(data,"%[^&]&%s",buf0,buf1);
        
    }
    
    //char *sql = "select * from contacts where class=";
    //sql=strcat(sql,buf0);
    
   char sql[50];
    //char *ch1=" or ";
    sprintf(sql,"select * from contacts where %s or %s",n,m);
    //char *ch2=strcat(m,ch1);
    //char *ch3=strcat(ch2,n);
    char *sqll=sql;
    //printf("<tr><td>%s</td></tr>",sqll);
    //char class1 = class;
    //char *sql;
    //sql=strcat("select * from contacts where class=",class1);
    //printf("<tr><td>%s</td></tr>",class1);
    rc = sqlite3_exec(db,sql, callback, 0, &zErrMsg);
    if( rc!=SQLITE_OK ){
        printf("SQL error: %s\n", zErrMsg);
        sqlite3_free(zErrMsg);
    }
    printf("</table><a href=\"query.html\">Come back!</a></body></html>");
    sqlite3_close(db);
    return 0;
}

[代码运行效果截图]


HD软件工程嵌入式课程设计——网页后台CGI参考(查询功能之一)

[源代码打包下载]




网友评论    (发表评论)

共1 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...