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

相关推荐
生戎马 平安京策2 分钟前
SQL Transcation的一些总结
数据库·sql·oracle
施嘉伟1 小时前
KingbaseES V9 Oracle兼容版:SQL 调优实测
sql·oracle
lee_curry2 小时前
RuoYi Cloud:Gateway、Auth、System 接入 Prometheus JVM 监控,并练习多副本、滚动升级和故障恢复
jvm·gateway·prometheus
CoderYanger2 小时前
Java EE:9.JVM(课件内容-上篇)
java·jvm·程序人生·面试·职场和发展·java-ee·程序员创富
残月心殇 请珍惜枸2 小时前
.NET陷阱之五:奇怪的OutOfMemoryException——大对象堆引起的问题与对策
java·jvm·.net
CoderYanger2 小时前
Java EE:9.JVM(课件内容-下篇)
java·jvm·程序人生·面试·职场和发展·java-ee·学习方法
柔蘭3 小时前
WPF中的CommunityToolkit.Mvvm框架
wpf
艾莉丝努力练剑4 小时前
【MYSQL】MYSQL学习的一大重点:事务(下)- InnoDB 事务隔离性原理(MVCC 视角)
android·数据库·b树·sql·学习·mysql·面试
毛驴赶鹿12 小时前
【金仓数据库征文】KES V9性能调优实战记录:从慢SQL排查到全链路优化
数据库·sql
山峰哥20 小时前
数据库工程与SQL调优:从慢查询到秒级响应的实战之路
java·开发语言·数据库·sql·深度优先·启发式算法