一起搭WPF架构之SQL的使用

一起搭WPF架构之SQL的使用


前言

之前介绍了SQLite的表创建,同时也介绍了使用过程中出现的问题。今天详细说以下具体的使用。


SQL的基本语法

  • 定义语言

    创建表:CREATE TABLE ...

    删除表:DROP TABLE IF EXISTS ...

    修改表结构(添加、删除列):

    ALTER TABLE ... ADD COLUMN ...

    ALTER TABLE ... DROP COLUMN ...

  • 操纵语言

    插入数据:INSERT INTO

    更新数据:UPDATE ...SET ... WHERE ...

    删除数据:DELETE FROM ... WHERE ...

    查询数据:SELECT ...FROM ... WHERE ...

简单介绍上面两种,我们暂时使用到的最多的就是查询、更新、插入。

WPF中SQL的具体使用

查询\选择表格:

csharp 复制代码
"select * from DataInfo_tab "

存入\插入表格:

csharp 复制代码
"insert into DataInfo_tab (插入的数据名称) values (具体对应的数据)";

更新数据:(在已有其他数据的情况下,存入某一数据或更新数据)

csharp 复制代码
"update DataInfo_tab set 数据名称 = '" + 具体数据 + "' where 查询位置 = '" + 具体位置的数据 + "'";

SQLite的简单使用

该流程的使用基础是基于已建好数据库的前提下的简单使用,也可通过代码进行数据库创建,本篇不对此方法进行介绍!

csharp 复制代码
using (SQLiteConnection connection = new SQLiteConnection(数据库的地址))
{
    using (SQLiteCommand command = new SQLiteCommand("select * from DataInfo_tab ", connection))
    {
        SQLiteDataAdapter adapter = new SQLiteDataAdapter(command);
        DataTable data = new DataTable();
        adapter.Fill(data);
    }
}
  • SQLiteConnection:关联好数据库的地址,创建new SQLiteConnection()
  • SQLiteCommand 对象用于执行 SQL 查询。使用 using 语句来确保命令对象在结束时能够正确地释放资源。"select * from DataInfo_tab " 是要执行的 SQL 查询,用于从 DataInfo_tab 表中检索所有数据。
    -SQLiteDataAdapter 对象用于从数据库中检索数据并填充到 DataTable 中。adapter.Fill(data) 方法执行查询并将结果填充到 data 表中。
    如果发现SQLiteConnection connection的connection中state是closed,请进行connection.open()!

根据反馈回来的数据,再进行填充:

csharp 复制代码
DataTable dt = SQLiteDBHelper.SelectRecord();
for (int i = 0; i < dt.Rows.Count; i++)
{
    DataList.Add(new DataModel { 
        Name = Convert.ToInt16(dt.Rows[i]["Name"].ToString()), 
        ClothTpye= Convert.ToInt16(dt.Rows[i]["Type"].ToString()),
        ClothColor = dt.Rows[i]["Color"].ToString(),
        ClothSize = Convert.ToInt16(dt.Rows[i]["Size"].ToString()),
        ClothImage = GetStateIcon("2") });
    
}

总结

简单介绍了WPF中对于SQLite表的数据读取!

相关推荐
suoyue_zhan24 分钟前
SQL经典案例之数据库的CTE递归循环使用
数据库·sql
瓦特what?27 分钟前
位运算核心技巧与应用
java·jvm·算法
zhangjw3430 分钟前
MySQL数据库零基础入门,数据库原理、SQL详解、库表操作、字段约束、基础查询全覆盖
数据库·sql·mysql
伶俜661 小时前
# [特殊字符] 零基础学 ArkUI 数据持久化(专题三):5 种存储方案深度对比
学习·华为·wpf·harmonyos
程序员二叉1 小时前
【JVM】类加载全过程&双亲委派机制深度解析
java·jvm·面试
IT策士1 小时前
Redis 从入门到精通:数据结构String 与键管理
数据结构·redis·wpf
JdSnE27zv1 小时前
SQLite内存数据库
数据库·sql·sqlite
IvorySQL2 小时前
PostgreSQL 19 新特性:基于 SQL/PGQ 实现图数据查询
数据库·sql·postgresql
cfm_29142 小时前
JVM 深度入门:Class文件结构 + 字节码指令详解
jvm
吴声子夜歌2 小时前
JVM——线程池实现原理
java·jvm·线程池