一起搭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表的数据读取!

相关推荐
Nyarlathotep01132 小时前
SQL的事务控制
sql·mysql
NineData19 小时前
NineData智能数据管理平台新功能发布|2026年1-2月
数据库·sql·数据分析
阿里云大数据AI技术2 天前
用 SQL 调大模型?Hologres + 百炼,让数据开发直接“对话”AI
sql·llm
Derek_Smart3 天前
从一次 OOM 事故说起:打造生产级的 JVM 健康检查组件
java·jvm·spring boot
大道至简Edward3 天前
深入 JVM 核心:一文读懂 Class 文件结构(附 Hex 实战解析)
jvm
Scout-leaf5 天前
WPF新手村教程(三)—— 路由事件
c#·wpf
weisian1517 天前
JVM--20-面试题6:如何判断对象可以被垃圾回收?
jvm·可达性算法
蚊子码农7 天前
每日一题--JVM线程分析与死锁排查
jvm
tryCbest7 天前
数据库SQL学习
数据库·sql
cowboy2587 天前
mysql5.7及以下版本查询所有后代值(包括本身)
数据库·sql