您的位置:首页 > Web前端 > HTML

C实现html页面的跳转

2010-08-05 15:53 351 查看
初次学习写CGI,而且是初次使用比较少见的CCGI方式,最终解决了如下问题:

1.C实现sqlite3数据库的操作,含数据库的建立、打开、插入、查询、删除、更新、关闭等操作;

2。实现了我觉得十分重要的使用C来实现CGI页面的跳转,其实就是一句话:如下

printf("<script>window.location.href='/login_err.html';</script>");//实现页面的自动跳转

附1:c实现的数据库操作代码

//此代码是实现数据库的操作:新建/打开、插入、删除、查询等操作

#include<stdio.h>

#include<sqlite3.h>

#include<stdlib.h>

#include<string.h>

int main()

{

char *name="lxf",*psw="lxf";

int id=1;

sqlite3 *db=NULL;

char *zErrMsg=0;

char *sql;

int rc;

int nRow,nColum;

char **selResult;

int i,j,k;

char *callbackData="Callback function called";

int selectId=1;

rc=sqlite3_open("my.db",&db);

if(rc)

{

fprintf(stderr,"Can't open database:%s",sqlite3_errmsg(db));

sqlite3_close(db);

exit(1);

}

else

{

printf("You have open a sqlite database named myfirst.db successfully!/n");

}

//定义插入数据的sql语句

sql="INSERT INTO T_User VALUES(1,'lxf','lxf','0')";

//执行sql语句

rc=sqlite3_exec(db,sql,NULL,NULL,&zErrMsg);

if(rc!=SQLITE_OK)

{

if(zErrMsg!=NULL)

{

fprintf(stderr,"SQL error:%s/n",zErrMsg);

sqlite3_free(zErrMsg);

}

}

else

{

printf("Insert OK...");

}

//查询数据

sprintf(sql,"select * from T_User where P_UserID='%d'",id);

rc=sqlite3_get_table(db,sql,&selResult,&nRow,&nColum,&zErrMsg);

if(SQLITE_OK==rc)

{

if(nRow!=0)

{

for(i=0;i<nRow+1;i++)

{

for(j=0;j<nColum;j++)

{

fprintf(stdout,"%s/t",selResult[(i)*nColum+j]);

}

printf("/n");

}

}

else

{

printf("No data.../n");

}

}

else

{

printf("select error.../n");

}

//释放selResult存储空间

sqlite3_free_table(selResult);

//删除数据delete

sql="delete from T_User where P_UserID=1";

rc=sqlite3_exec(db,sql,NULL,NULL,&zErrMsg);

if(SQLITE_OK==rc)

{

printf("Delete OK.../n");

}

else

{

printf("delete error.../n");

}

//再次查看

sql="select * from T_User;";

rc=sqlite3_get_table(db,sql,&selResult,&nRow,&nColum,&zErrMsg);

if(SQLITE_OK==rc)

{

for(i=0;i<nRow+1;i++)

{

for(j=0;j<nColum;j++)

{

fprintf(stdout,"%s/t",selResult[(i)*nColum+j]);

}

printf("/n");

}

}

else

{

printf("select error.../n");

}

//释放selResult存储空间

sqlite3_free_table(selResult);

sqlite3_close(db);

exit(0);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: