文档章节

C#ADO.NET基础一

o
 osc_uz0m1ri0
发布于 2019/04/11 19:59
字数 388
阅读 17
收藏 0

行业解决方案、产品招募中!想赚钱就来传!>>>

简介

使用SQLite进行讲解

1.基础类:

SQLiteConnection 连接数据库
SQLiteCommand 执行命令(增,删,改,查),或存储过程
SQLiteDataReader 读取查询到的数据

2.SQLiteCommand讲解

 

CommandType 获取或设置Command对象要执行命令的类型
CommandText 获取或设置要对数据库执行的SQL语句或存储过程名或表名
CommandTimeOut 获取或设置在终止对执行命令的尝试并生成错误之前的等待时间
Parameters 获取Command对象需要使用的参数集合
   
ExecuteScalar  执行命令(查)返回数据中第一行第一列的值。
ExecuteNonQuery 执行命令(增,删,改,查)
ExecuteReader  执行命令(查)返回查到的所有数据

 

一.下载SQLite库

二.使用

1.连接

$@"Data Source={Application.StartupPath}\Test.db;Password=;Version=3;"

2.增

private void btnAdd_Click(object sender, EventArgs e)
        {
            string name = "张三";
            int age = 19;

            using (SQLiteConnection conn = new SQLiteConnection(connStrl))
            {
                conn.Open();
                using (SQLiteCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = "insert into test(name,age) values(@name,@age);";
                    cmd.Parameters.AddWithValue("@name", name);
                    cmd.Parameters.AddWithValue("@age", age);
                    cmd.ExecuteNonQuery();
                }
                conn.Close();
            }
        }

 

3.删

private void btnDelete_Click(object sender, EventArgs e)
        {
            string name = "张三";

            try
            {
                using (SQLiteConnection conn = new SQLiteConnection(connStrl))
                {
                    conn.Open();
                    using (SQLiteCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = $"delete from test where name=@name";
                        cmd.Parameters.AddWithValue("@name", name);
                        cmd.ExecuteNonQuery();
                    }
                    conn.Close();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }

 

4.改

private void btnUpdate_Click(object sender, EventArgs e)
        {
            string nameOld = "张一";
            string nameNew = "张四";

            try
            {
                using (SQLiteConnection conn = new SQLiteConnection(connStrl))
                {
                    conn.Open();
                    using (SQLiteCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = $"update test set name=@nameNew where name=@nameOld";
                        cmd.Parameters.AddWithValue("@nameOld", nameOld);
                        cmd.Parameters.AddWithValue("@nameNew", nameNew);
                        cmd.ExecuteNonQuery();
                    }
                    conn.Close();
                }
            }
            catch (Exception)
            {
                throw;
            }
        }

 

5.查

private void btnSelect_Click(object sender, EventArgs e)
        {
            textBox1.Text = "";
            try
            {
                using (SQLiteConnection conn = new SQLiteConnection(connStrl))
                {
                    conn.Open();
                    using (SQLiteCommand cmd = conn.CreateCommand())
                    {
                        cmd.CommandText = "select name,age from test";
                        using (SQLiteDataReader reader = cmd.ExecuteReader())
                        {
                            if (reader.HasRows)
                                while (reader.Read())
                                {
                                    string name = reader.GetString(0);
                                    int age = reader.GetInt32(1);

                                    textBox1.Text += $"name:{name} age:{age}\r\n";
                                }
                        }
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
        }

 

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
Flappy Bird(安卓版)逆向分析(一)

更改每过一关的增长分数 反编译的步骤就不介绍了,我们直接来看反编译得到的文件夹 方法1:在smali目录下,我们看到org/andengine/,可以知晓游戏是由andengine引擎开发的。打开/res/raw/at...

enimey
2014/03/04
5.8K
18
程序猿媛一:Android滑动翻页+区域点击事件

滑动翻页+区域点击事件 ViewPager+GrideView 声明:博文为原创,文章内容为,效果展示,思路阐述,及代码片段。文尾附注源码获取途径。 转载请保留原文出处“http://my.oschina.net/gluoyer...

花佟林雨月
2013/11/09
4.1K
1
集群存储系统--YFS

YFS集群存储系统由多个元数据服务器(MDS)、多个块数据服务器(CDS)和多个客户端(client)互联组成集群; 数据被分成64M固定大小的数据块(Chunk),每个数据块在CDS本地以常规文件的形式...

匿名
2013/02/19
1.7K
0
用AGG实现高质量图形输出(一)

AGG是一个开源、高效的跨平台2D图形库。AGG的功能与GDI+的功能非常类似,但提供了比GDI+更灵活的编程接口,其产生的图形的质量也非常高 (自称超过GDI+) 使用前AGG的准备工作 下载AGG库,它的...

Waiting4you
2009/08/24
2.6K
0
[译] WPF MVVM 循序渐进(从基础到高级)

本文翻译自Shivprasad koirala在CodeProject上的文章:[WPF MVVM step by step (Basics to Advance Level)][1] 简介 从我们还是儿童到学习成长为成年人, 生命一直都在演变。 对于软件架构, ...

不插电码农
2015/11/27
1.5K
1

没有更多内容

加载失败,请刷新页面

加载更多

在新标签页(而不是新窗口)中打开URL - Open a URL in a new tab (and not a new window)

问题: I'm trying to open a URL in a new tab, as opposed to a popup window. 我正在尝试在新选项卡(而不是弹出窗口)中打开URL 。 I've seen related questions where the responses wo......

富含淀粉
23分钟前
0
0
HTML中id属性的有效值是什么? - What are valid values for the id attribute in HTML?

问题: 为HTML元素创建id属性时,该值有哪些规则? 解决方案: 参考一: https://stackoom.com/question/IMN/HTML中id属性的有效值是什么 参考二: https://oldbug.net/q/IMN/What-are-vali...

法国红酒甜
今天
25
0
mysql innodb 可重复 幻读问题

1 mvcc 解决快照读幻读 2 GAP 锁解决 当前读幻读 (insert时 插入意向锁会等待GAP锁)

yzzzzzzzz
今天
25
0
画风清奇,用开源机器人项目实现“云毕业典礼”

本文作者:o****0 前几天,南京邮电大学的一场毕业典礼引起了吃瓜群众的热议,先来看看这个画风: 由于疫情原因,很多高校的学生只能在家里通过线上视频的方式完成毕业论文答辩。答辩通过后,...

百度开发者中心
07/31
16
0
2020年TOP7的编程语言和框架,它们至少还能风靡全球5年以上

在本文中,我们将看一看由我推荐的编程语言和框架列表,我相信在接下来的5年至10年中,对于开发者来说,这份列表中的语言和框架仍然会有用。同时考虑到我不希望该列表仅是另一个备受好评的编...

京东智联云开发者
今天
25
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部