news 2026/7/4 23:49:22

学习笔记——SQLite3 编程与 HTML 基础

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
学习笔记——SQLite3 编程与 HTML 基础

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 编程要点

  1. 三部曲:打开 → 执行 → 关闭

  2. 错误处理:每次操作后检查返回值

  3. 资源管理:及时关闭数据库和释放错误信息

  4. 回调函数:正确处理查询结果

HTML 学习要点

  1. 语义化:使用合适的标签

  2. 属性:了解常用属性的作用

  3. 表单:重点掌握数据提交方式

  4. 兼容性:注意不同浏览器的支持差异

开发建议

  1. 始终检查SQLite操作的返回值

  2. HTML标签属性使用双引号

  3. 表单设计考虑用户体验

  4. 图片添加alt属性提高可访问性

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 18:20:38

ComfyUI Photoshop终极配置指南:3步搞定AI绘画新体验

还在为AI绘画软件切换而烦恼吗&#xff1f;&#x1f914; 现在&#xff0c;你可以在最熟悉的Photoshop环境中直接使用ComfyUI的强大AI功能&#xff01;本指南将带你快速掌握这个革命性插件的完整配置流程&#xff0c;让你轻松实现创意无限。 【免费下载链接】Comfy-Photoshop-S…

作者头像 李华
网站建设 2026/6/25 21:14:18

Jupyter Notebook远程连接Miniconda-Python3.11运行Llama模型

Jupyter Notebook远程连接Miniconda-Python3.11运行Llama模型 在当今大语言模型&#xff08;LLM&#xff09;快速演进的背景下&#xff0c;越来越多开发者面临一个共同挑战&#xff1a;如何在资源有限的本地设备上高效调试和运行像 Llama 这样的大型模型&#xff1f;传统的开发…

作者头像 李华
网站建设 2026/7/4 16:32:04

Markdown写技术文档:Miniconda-Python3.11环境配置说明

Miniconda-Python3.11 环境配置实践指南 在当今 AI 与数据科学项目日益复杂的背景下&#xff0c;开发环境的混乱常常成为制约效率的隐形瓶颈。你是否经历过这样的场景&#xff1a;一个项目依赖 numpy1.21&#xff0c;而另一个却要求 numpy>1.24&#xff0c;结果装完一个&…

作者头像 李华
网站建设 2026/7/3 22:22:38

Galaxy Buds桌面控制终极指南:解锁三星耳机完整功能

Galaxy Buds桌面控制终极指南&#xff1a;解锁三星耳机完整功能 【免费下载链接】GalaxyBudsClient Unofficial Galaxy Buds Manager for Windows, macOS, and Linux 项目地址: https://gitcode.com/gh_mirrors/gal/GalaxyBudsClient 想要在电脑上全面掌控你的三星Galax…

作者头像 李华
网站建设 2026/6/22 21:18:46

PyTorch微调模型:Miniconda-Python3.11定制化环境构建

PyTorch微调模型&#xff1a;Miniconda-Python3.11定制化环境构建 在现代深度学习项目中&#xff0c;一个常见的痛点是——“代码跑不通”。不是因为算法写错了&#xff0c;而是环境出了问题&#xff1a;版本不兼容、依赖缺失、CUDA配置混乱……尤其是当你试图复现一篇论文的结…

作者头像 李华
网站建设 2026/6/23 22:50:30

ESP32文件上传:告别复杂配置,轻松管理设备文件系统

ESP32文件上传&#xff1a;告别复杂配置&#xff0c;轻松管理设备文件系统 【免费下载链接】arduino-esp32fs-plugin Arduino plugin for uploading files to ESP32 file system 项目地址: https://gitcode.com/gh_mirrors/ar/arduino-esp32fs-plugin 你是否曾经为ESP32…

作者头像 李华