一、SQLite3 数据库操作
SQLite3 是一个轻量级数据库库,在 C 语言中常用 sqlite3_open, sqlite3_exec, 和 sqlite3_close 函数来管理数据库。以下是关键步骤:
-
打开数据库 (
sqlite3_open)用于创建或连接数据库文件。示例代码中:
csqlite3* db = NULL; int ret = sqlite3_open("123.db", &db); if (ret != SQLITE_OK) { fprintf(stderr, "sqlite3_open %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 1; }sqlite3_open的第一个参数是数据库文件名(如"123.db"),第二个参数是数据库句柄指针。- 返回值
ret检查是否成功(SQLITE_OK表示成功),失败时用sqlite3_errmsg获取错误信息。 - 错误处理包括关闭数据库(
sqlite3_close)并退出。
-
执行 SQL 语句 (
sqlite3_exec)用于执行插入、查询等操作。示例中插入数据:
cchar* errmsg = NULL; char sql_cmd[512] = "insert into user values(6,'lvbu',31);"; ret = sqlite3_exec(db, sql_cmd, NULL, NULL, &errmsg); if (ret != SQLITE_OK) { fprintf(stderr, "sqlite3_exec %s\n", errmsg); sqlite3_free(errmsg); sqlite3_close(db); return 1; }sql_cmd是 SQL 命令字符串。- 第三个参数是回调函数指针,用于处理查询结果(在查询示例中用到)。
- 错误时使用
sqlite3_free释放错误消息内存。
-
处理查询结果(回调函数)
当执行查询(如
SELECT)时,需定义回调函数来处理结果集。您提供的show函数示例:cint show(void* arg, int col, char** result, char** title) { static int flag = 0; int i = 0; if (0 == flag) { flag = 1; for (i = 0; i < col; i++) { printf("%s\t\t", title[i]); } printf("\n"); } for (i = 0; i < col; i++) { printf("%s\t\t", result[i]); } printf("\n"); return 0; }-
回调函数在每次获取一条记录时被调用,调用次数等于结果集的行数。
-
col是列数,title是列名数组,result是当前行的数据数组。 -
返回值必须为 0,否则回调只执行一次(可能中断处理)。
-
在
sqlite3_exec中指定回调:cchar sql_cmd[512] = "select * from user ;"; ret = sqlite3_exec(db, sql_cmd, show, NULL, &errmsg);
-
-
关闭数据库 (
sqlite3_close)操作完成后必须关闭数据库以释放资源:
csqlite3_close(db);
- 始终检查函数返回值并进行错误处理。
- 使用回调函数时,确保其正确处理多行数据。
- 避免 SQL 注入:在真实应用中,使用参数化查询而非拼接字符串。
二、HTML 基础
:
-
HTML 基本结构
示例代码:
html<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>中文测试。。。</title> </head> <body> 这里是测试body测试内容。。。 </body> </html><!DOCTYPE html>声明文档类型。<html>是根元素,包含<head>(元数据)和<body>(内容)。<meta charset="utf-8">确保中文字符正确显示。
-
超链接 (
<a>标签)用于链接到外部网站、本地文件或图片:
html<a href="http://www.baidu.com">baidu</a> <br><a href="1.html">111</a> <br><a href="1.html"><img src="abc.jpg"></a>href属性指定目标 URL 或文件路径。<br>是换行标签。- 图片可作为链接内容(如第三行)。
-
图片 (
<img>标签)是单标签(无需闭合),常用属性:
html<img src="abc.jpg" alt="美女" width="100" height="200"> <img src="abc.jpg" alt="美女" width="50%" height="200%">src:图片来源路径。alt:图片无法显示时的替代文本。width和height:指定尺寸(像素或百分比)。
-
表单 (
<form>标签)用于收集用户输入数据:
html<form action="submit.php" method="post"> <!-- 输入元素 --> </form>-
action:表单数据提交的目标 URL。 -
method:提交方式,get(数据附加到 URL)或post(数据在请求体中),默认为get。 -
Input 元素 :表单的核心组件,示例属性:
html<input type="text" name="username" placeholder="请输入用户名" required> <input type="password" name="pwd"> <input type="submit" value="提交"> <input type="reset" value="重置"> <input type="hidden" name="token" value="abc123">type:输入类型,如text(文本)、password(密码)、submit(提交按钮)、reset(重置按钮)、hidden(隐藏字段)。name:参数名称,用于服务器识别。value:默认值。placeholder:提示文本。required:必填字段(HTML5 特性)。maxlength:最大输入长度。
-