SQLite3 编程与 HTML 基础
一、SQLite3 编程基础
1. 基本流程
#include <sqlite3.h> // 1. 打开数据库 int sqlite3_open(const char *filename, sqlite3 **ppDb); // 2. 执行SQL语句 int sqlite3_exec( sqlite3 *db, // 数据库句柄 const char *sql, // SQL语句 int (*callback)(void*,int,char**,char**), // 回调函数 void *arg, // 回调函数参数 char **errmsg // 错误信息 ); // 3. 关闭数据库 int sqlite3_close(sqlite3 *db);
2. 完整示例
#include <sqlite3.h> #include <stdio.h> // 回调函数 - 显示查询结果 int 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; // 必须返回0,否则只调用一次 } int main(int argc, char** argv) { sqlite3* db = NULL; char* errmsg = NULL; // 1. 打开数据库 int ret = sqlite3_open("123.db", &db); if (ret != SQLITE_OK) { fprintf(stderr, "sqlite3_open error: %s\n", sqlite3_errmsg(db)); sqlite3_close(db); return 1; } // 2.1 插入数据 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 error: %s\n", errmsg); sqlite3_free(errmsg); sqlite3_close(db); return 1; } // 2.2 查询数据 char query_cmd[512] = "select * from user;"; ret = sqlite3_exec(db, query_cmd, show, NULL, &errmsg); if (ret != SQLITE_OK) { fprintf(stderr, "sqlite3_exec error: %s\n", errmsg); sqlite3_free(errmsg); sqlite3_close(db); return 1; } // 3. 关闭数据库 sqlite3_close(db); return 0; }3. 重要注意事项
sqlite3_exec的回调函数会被调用多次,每次处理一条记录回调函数必须返回0,否则只会调用一次
错误信息需要使用
sqlite3_free()释放每次操作后都应检查返回值
二、HTML 基础
1. 基本结构
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>页面标题</title> </head> <body> 页面内容... </body> </html>
2. 常用标签
超链接<a>
<!-- 1. 链接外部网站 --> <a href="http://www.baidu.com">百度</a> <!-- 2. 链接本地文件 --> <a href="1.html">本地页面</a> <!-- 3. 图片链接 --> <a href="1.html"> <img src="abc.jpg" alt="图片描述"> </a>
图片<img>
<!-- 单标签 --> <img src="abc.jpg" alt="图片描述" width="100" height="200"> <img src="abc.jpg" alt="图片描述" width="50%" height="50%">
属性说明:
src:图像来源(必需)alt:替代文本(图片无法显示时显示)width,height:宽高(像素或百分比)
表单<form>
<form action="submit.php" method="post"> <!-- 表单元素 --> </form>
表单属性:
action:数据提交的目标地址method:提交方式get:数据附加在URL后面(默认)post:数据打包发送(更安全)
输入框<input>
<!-- 文本输入框 --> <input type="text" name="username" placeholder="请输入用户名" required> <!-- 密码框 --> <input type="password" name="password"> <!-- 提交按钮 --> <input type="submit" value="提交"> <!-- 重置按钮 --> <input type="reset" value="重置"> <!-- 普通按钮 --> <input type="button" value="点击" οnclick="function()"> <!-- 图片按钮 --> <input type="image" src="button.jpg"> <!-- 隐藏字段 --> <input type="hidden" name="token" value="abc123"> <!-- 邮箱输入 --> <input type="email" name="email">
<input>常用属性:
type:输入框类型name:参数名称(传递给服务器的变量名)value:默认值maxlength:最大长度placeholder:提示信息required:必填项
3. 学习资源
查询手册:https://www.w3school.com.cn/
推荐使用
<br>标签进行换行
三、总结
SQLite3 编程要点
三部曲:打开 → 执行 → 关闭
错误处理:每次操作后检查返回值
资源管理:及时关闭数据库和释放错误信息
回调函数:正确处理查询结果
HTML 学习要点
语义化:使用合适的标签
属性:了解常用属性的作用
表单:重点掌握数据提交方式
兼容性:注意不同浏览器的支持差异
开发建议
始终检查SQLite操作的返回值
HTML标签属性使用双引号
表单设计考虑用户体验
图片添加alt属性提高可访问性