c#中sqlite数据库相关的一些操作总结

在工作中经常用到数据库,可以进行一些操作,但是对于操作的理解不是很清楚,正好这次的工作又要用到数据库,完成之余对数据库进行一个简单易懂的总结,加深下理解。下面按照一些简单的操作来进行具体的小结。(代码只是简单的操作,没有考虑变量是否为null等情况

既然要使用到数据库,首先要做的就是跟数据库之间的连接,在进行每种操作的时候都应该是先进行连接,然后再进行其他操作:

//提供数据库的来源
pubic connectionString = "Data Source=" + "DataBase\\db" + "";

//建立连接对象
SQLiteConnection conn = new SQLiteConnection(connectionString)

//打开连接
conn.open();

打开连接之后,我们就要根据sql语句来进行相关的读取,修改,删除数据库数据等操作了,sql语句具体的一些用法在下一篇博客中会进行更详细的总结。

1. 根据指定sql语句获取SQLiteDataReader阅读器,该阅读器使用while(read())的操作,可以进行便利,具体的读取过程跟指针类似,每读完一条数据,会指向下一组数据,该阅读器效率较高,但是只能单向读取,并且是只读。

         

//根据连接对象和sql语句,创建一个SQL命令
SQLiteCommand cmd = new SQLiteCommand(sql, conn)

//根据创建的命令来满足传入的sql语句的阅读器
SQLiteDataReader myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection)

2. 当需要查询某个位置的某个数据的时候,可以使用下面的方式:

SQLiteCommand cmd = new SQLiteCommand(sql,conn)

//该方法返回的是根据sql语句获得查询结果的第一行一列的值,使用的时候,使用合适的sql语句,就可以获取某一个具体的数值了。如果行和列都不存在,会返回null,如果列不存在,行存在,则返回DBNull
Object obj = cmd.ExecuteScalar();

3. 我们获取数据库的数据,不仅仅需要进行读取,有时还要进一步的来操作获取到的数据,这时候就需要用SQLiteAdapter来填充。SQLiteAdapter就是一个适配器,简单通俗点来说:不可能直接把数据库中的数据拿来用的,这时候要读懂数据库中的数据,就要一个工具,来将数据库中的数据让你的软件能够读懂,这样才能进行操作。对于不同的数据源,就会有不同的适配器。在填充的时候会出现一个模糊:DataTable和DataSet的区别,DataTable就是一个表,而DataSet相当于一个数据库,里面有很多个表,2个都是容器,具体的使用例子如下:

//同样根据连接和sql语句创建一个适配器对象
SQLiteDataAdapter drp = new SQLiteDataAdapter(sql, conn)

DataTable dt= new DataTable();
DataSet ds = new DataSet();

drp.Fill(dt);
drp.Fill(ds);

4.下面的方法可以获取执行sql语句的数据库操作之后,返回数据库数据影响数,这边补充一个可以传入参数数组

//假设根据数据库里面的内容,传入一些参数,根据正确的参数,可以向数据库中的sql语句中指定的部分进行添加修改操作
params SQLiteParameter[] cmdParams;
foreach(var Parameter in cmdParms)
{
     //这边要对ParameterDirection的值进行判断
     cmd.Parameters.Add(Parameter);
}

//在命令中添加完成参数后,执行sql语句操作,rows就是返回的数据库受影响的数据数目

    int rows = cmd.ExecuteNonQuery();


目前工作中用过的主要的操作也就是上面几个,包含了读取,修改。具体的sql语句如何来写下一篇会进行小结。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值