学习笔记——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. 完整示例

cpp 复制代码
#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. 学习资源

三、总结

SQLite3 编程要点

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

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

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

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

HTML 学习要点

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

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

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

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

开发建议

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

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

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

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

相关推荐
侃谈科技圈11 小时前
网联盾御:以技术筑牢数字防线 守护企业网络安全新生态
网络·安全·web安全
AI科技星12 小时前
全域数学公理:32维超球体投影、微观曲率与霍奇猜想的几何化证明
c语言·开发语言·网络·量子计算·agi
智者知已应修善业12 小时前
【51单片机按键加减最大60显示0不再增加减到0不再减】2023-11-18
c++·经验分享·笔记·算法·51单片机
菜菜的顾清寒12 小时前
力扣HOT100(30)两两交换链表中的节点
算法·leetcode·链表
云飞云共享云桌面12 小时前
企业降本增效新思路:SolidWorks共享部署实战经验分享
运维·服务器·网络·人工智能·3d·自动化
lunzi_082612 小时前
【学习笔记】《Python编程 从入门到实践》第1章:Python环境搭建与Hello World(完整版)
笔记·python·学习
问心无愧051312 小时前
ctf show web 入门173
数据库·笔记·sql·mysql
小龙报12 小时前
【优选算法】双指针专项:1.移动零 2. 复写零 3.快乐数
java·c语言·数据结构·c++·python·算法·面试
w20180012 小时前
四年级下册语文第七单元作文:我的“自画像”
笔记
剪刀石头布Cheers12 小时前
关于华三无线频谱导航
网络·h3c