我的sqlLite的操作模板

public class SQLHelper
{
string SqlFile = Environment.CurrentDirectory + “\sql.db”;
IDbConnection conn = null;

    public IDbConnection   GetConn()
    {
        if (File.Exists(SqlFile))//文件存在就操作打开
        {
            conn = new SQLiteConnection(string.Format("Data Source ={0}", SqlFile));//string.Format("Data Source ={0}; Version = 3; Legacy Format = True", SqlFile));

            try
             {
                    conn.Open();
                return conn;
           }
                catch (Exception ex)
            {
                    throw new Exception("数据库打开错误:" + ex.Message);
             }
            
        }
        else//如果文件不存在则创建
        {
            SQLiteConnection.CreateFile(SqlFile);
            string CreateTabel = @"CREATE TABLE ControlsSet(Id integer NOT NULL,FormName TEXT,ControlName TEXT,X integer,Y integer,Heigte integer,Width integer,
                                FontType TEXT,Type TEXT,ConText TEXT,EnableSet integer, PRIMARY KEY(Id)); ";
            SQLiteConnection sqliteConn = new SQLiteConnection(string.Format("Data Source ={0}; Version = 3; Legacy Format = True", SqlFile));
            sqliteConn.Open();
            SQLiteCommand cmd = new SQLiteCommand(sqliteConn);
            cmd.CommandText = CreateTabel;
            cmd.ExecuteNonQuery();
            return sqliteConn;
        }

    }
    /// <summary>
    /// 获取相关form内数据
    /// </summary>
    /// <param name="FormName"></param>
    /// <returns></returns>
    public List<FormAtAll> GetOneForm(string FormName)
    {
        using (IDbConnection conn = GetConn())

        {
            List<FormAtAll> controlList = null;
            string sql = "select * from ControlsSet where FormName = @FormName";
            if (conn != null)
            {
                controlList = new List<FormAtAll>();
                controlList = conn.Query<FormAtAll>(sql, new { FormName = FormName }).ToList();

            }
            return controlList;

        }
            
    }
    /// <summary>
    /// 获取当前模型是否存在
    /// </summary>
    /// <param name="model"></param>
    /// <returns></returns>
    public List<FormAtAll> GetCountThisControl(FormAtAll model)
    {
        using (IDbConnection conn = GetConn())

        {
            List<FormAtAll> controlList = null;
            string sql ="select * from ControlsSet Where FormName =@FormName AND ControlName =@ControlName";
            if (conn != null)
            {
                controlList = new List<FormAtAll>();
                controlList = conn.Query<FormAtAll>(sql,model).ToList();

            }
            return controlList;
        }
    }
    /// <summary>
    /// 获取插入或更新数据
    /// </summary>
    /// <param name="list"></param>
    /// <returns></returns>
    public int InsertOrUpdateForms(List<FormAtAll> list)
    {

        int Outint = 0 ;
        using (IDbConnection conn = GetConn())

        {
            foreach (FormAtAll one in list)
            {
                string sql = string.Empty;
                if (GetCountThisControl(one).Count > 0)//大于0就是 update 
                {
                    sql = "update ControlsSet set  FormName =@FormName , ControlName = @ControlName, X=@X, Y =  @Y,Heigte=@Heigte,Width = @Width, FontType =@FontType,Type =@Type ,ConText =@ConText, EnableSet = @EnabelSet where  FormName =@FormName AND ControlName =@ControlName";
                }
                else //小于就是插入
                {
                    sql = @" INSERT INTO ControlsSet (FormName,ControlName,X,Y, Heigte, Width, FontType, Type, ConText, EnableSet) values (@FormName, @ControlName, @X, @Y, @Heigte, @Width,@FontType, @Type,@ConText ,@EnableSet)";
                }
                Outint += conn.Execute(sql, one);
            }
            return Outint;
        }
    }



}

其中需要安装在dapper 安装以后,在system.data.sqllite 安装Nuget 后确认正常。

sqlite 数据的 时间 获取:

select datetime('now')    -----------2021-01-05 07:52:58
select date('now')    -----------2021-01-05 

sqlite获取最后一条插入的数据:

select last_insert_rowid()  ///如何确认你在那张表呢?就是在同一个connection下面

https://www.runoob.com/sqlite/sqlite-date-time.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值