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

相关推荐
小黑038 小时前
Spark SQL DSL
大数据·sql·spark
cl°12 小时前
【WPF】如何使用异步方法
经验分享·c#·wpf
Algorithm157612 小时前
JVM是什么,与Java的关系是什么,以及JVM怎么实现的跨平台性
java·开发语言·jvm
王佑辉12 小时前
【jvm】所有的线程都共享堆吗
jvm
月落.13 小时前
WPF的行为(Behavior)
wpf
cl°16 小时前
WPF中视觉树和逻辑树的区别和联系
经验分享·学习·c#·wpf
Mephisto.java17 小时前
【力扣 | SQL题 | 每日4题】力扣2004, 1454,1613,1709
hive·sql·mysql·leetcode·oracle·database
史迪仔011217 小时前
【SQL】SQL函数
数据库·sql
琪露诺大湿17 小时前
JavaEE-多线程初阶(1)
java·linux·开发语言·jvm·数据库·java-ee·1024程序员节
代码的奴隶(艾伦·耶格尔)18 小时前
sql进阶篇
java·数据库·sql