Winform里添加SqliteSqlite数据库引用的步骤
Posted 星星c#
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform里添加SqliteSqlite数据库引用的步骤相关的知识,希望对你有一定的参考价值。
一、添加System.Data.SQLite引用
二、添加linq2db引用
三、新建实体类
[Table("SysInfo")] public partial class SysInfo { [Column("Id"), PrimaryKey] [System.ComponentModel.DataAnnotations.Schema.DatabaseGenerated(System.ComponentModel.DataAnnotations.Schema.DatabaseGeneratedOption.Identity)] public int? Id { get; set; } [Column("TypeName"), Nullable] public string TypeName { get; set; } [Column("InfoName"), Nullable] public string InfoName { get; set; } [Column("InfoValue"), Nullable] public string InfoValue { get; set; } [Column("CreateDate"), Nullable] public DateTime? CreateDate { get; set; } }
四、添加数据库访问上下文
public partial class SqliteDBContext : LinqToDB.Data.DataConnection { public SqliteDBContext(bool Password = false) : base("SQLite", "DataSource=" + AppDomain.CurrentDomain.BaseDirectory + "\\\\DB\\\\Data.db" + ";") { InitDataContext(); } public SqliteDBContext(string providerName, string configuration) : base(providerName, configuration) { InitDataContext(); } partial void InitDataContext(); public ITable<SysInfo> SysInfo { get { return this.GetTable<SysInfo>(); } } }
五、读取、插入、更新
[TestMethod] public void TestMethodRead() { try { SqliteDB.SqliteDBContext context = new SqliteDB.SqliteDBContext(); var first = context.SysInfo.First(); } catch (Exception ex) { throw ex; } }
[TestMethod] public void TestMethodInsert() { try { SqliteDB.SqliteDBContext context = new SqliteDB.SqliteDBContext(); SqliteDB.SysInfo info = new SqliteDB.SysInfo { Id = null, InfoName = "a", InfoValue = "值", TypeName = "分类" }; int i = context.Insert(info); } catch (Exception ex) { throw ex; } }
[TestMethod] public void TestMethodUpdate() { try { SqliteDB.SqliteDBContext context = new SqliteDB.SqliteDBContext(); SqliteDB.SysInfo info = context.SysInfo.Where(c => c.Id == 4).FirstOrDefault(); if (info != null) { info.InfoName = "测试更新"; } context.Update(info); } catch (Exception ex) { throw ex; } }
六、sqlite建表证句
CREATE TABLE SysInfo ( [Id] integer PRIMARY KEY autoincrement, -- 设置主键 [TypeName] varchar(50), [InfoName] varchar (50), [InfoValue] varchar (50), [CreateDate] datetime default (datetime(\'now\', \'localtime\')) -- 时间 );
特别注意:由于主键是自增的,所以实体中的主键要允许为空 public int? Id { get; set; }
在新增数据的时候赋一个空值如下:
SqliteDB.SysInfo info = new SqliteDB.SysInfo { Id = null, InfoName = "a", InfoValue = "值", TypeName = "分类" };
以上是关于Winform里添加SqliteSqlite数据库引用的步骤的主要内容,如果未能解决你的问题,请参考以下文章
c#中 怎么件类文件 在winform中用的,我想把数据库的一些频繁操作的比如连接等操作添加到类文件里。