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

相关推荐
麦聪聊数据9 小时前
MySQL并发与锁:从“防止超卖”到排查“死锁”
数据库·sql·mysql
Chan1611 小时前
【 Java八股文面试 | JavaSE篇 】
java·jvm·spring boot·面试·java-ee·八股
黑白极客13 小时前
怎么给字符串字段加索引?日志系统 一条更新语句是怎么执行的
java·数据库·sql·mysql·引擎
-西门吹雪14 小时前
c++线程之std::async浅析
java·jvm·c++
爬山算法14 小时前
Hibernate(31)Hibernate的原生SQL查询是什么?
数据库·sql·hibernate
l1t15 小时前
NineData第三届数据库编程大赛:用一条 SQL 解数独问题我的参赛程序
数据库·人工智能·sql·算法·postgresql·oracle·数独
cn_mengbei15 小时前
鸿蒙PC原生应用开发实战:ArkTS与DevEco Studio从零构建跨端桌面应用全栈指南
华为·wpf·harmonyos
alonewolf_9915 小时前
深入解析G1与ZGC垃圾收集器:原理、调优与选型指南
java·jvm·算法
施嘉伟16 小时前
一次生产环境 SQL 不走索引的排查过程
数据库·sql
alonewolf_9916 小时前
JVM内存模型深度剖析与调优实战:从理论到实践,全面掌握JVM内存管理
jvm