在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
http://www.codeproject.com/Articles/746191/SQLite-Helper-Csharp
IntroductionI have written a small class, SQLiteHelper which aims to simplify the usage of SQLite in C#. PrerequisiteThis small class is built on top of System.Data.SQLite.DLL. A reference of this DLL must be added into your projects. Download: https://system.data.sqlite.org List of Simplified Functions
Getting StartAdd this using statement at the top of your class:
Copy Code
using System.Data.SQLite;
Example:
Copy Code
using (SQLiteConnection conn = new SQLiteConnection("data source=C:\\data")) { using (SQLiteCommand cmd = new SQLiteCommand()) { cmd.Connection = conn; conn.Open(); SQLiteHelper sh = new SQLiteHelper(cmd); // do something... conn.Close(); } } 1. GetTableStatusGet all information of tables in the database.
Copy Code
DataTable dt = sh.GetTableStatus(); 2. GetColumnStatusGet all information of columns in specific table.
Copy Code
// Get column's information from table "person" DataTable dt = sh.GetColumnStatus("person"); 3. CreateTableCreate table. Example table structure: Person
Copy Code
SQLiteTable tb = new SQLiteTable("person"); tb.Columns.Add(new SQLiteColumn("id", true)); tb.Columns.Add(new SQLiteColumn("name")); tb.Columns.Add(new SQLiteColumn("membershipid", ColType.Integer)); tb.Columns.Add(new SQLiteColumn("level", ColType.Decimal, false, false, "5.5")); sh.CreateTable(tb); 4. BeginTransaction, Commit, RollbackApplying transactions.
Copy Code
sh.BeginTransaction(); try { // execute some queries sh.Commit(); } catch { sh.Rollback(); } 5. SelectReturn the query result in DataTable format.
Copy Code
DataTable dt = sh.Select("select * from person order by id;"); 6. ExecuteExecute single SQL query.
Copy Code
sh.Execute("insert into person(name)values('hello');"); 7. ExecuteScalarReturn the result from first row first column in object format.
Copy Code
object ob = sh.ExecuteScalar("select max(id) from person;"); 8. ExecuteScalarStrReturn the result from first row first column in string format.
Copy Code
string s = sh.ExecuteScalarStr("select max(id) from person;"); 9. ExecuteScalarIntReturn the result from first row first column in Int format.
Copy Code
int i = sh.ExecuteScalarInt("select max(id) from person;"); 10. ExecuteScalarDateTimeReturn the result from first row first column in DateTime format.
Copy Code
DateTime date = sh.ExecuteScalarDateTime("select dateregister from person where id = 1;"); 11. ExecuteScalarDecimalReturn the result from first row first column in decimal format.
Copy Code
decimal d = sh.ExecuteScalarDecimal("select level from person where id = 1;"); 12. ExecuteScalarBlobReturn the result from first row first column in byte[] format.
Copy Code
byte[] ba = sh.ExecuteScalarBlob("select photo from person where id = 1;"); 13. EscapeEscape string sequence for text value to avoid SQL injection or invalid SQL syntax to be constructed.
Copy Code
string value = sh.Escape(input);
14. InsertInsert data. Sample 1: Insert single row.
Copy Code
var dic = new Dictionary<string, object>(); dic["name"] = "John"; dic["membershipid"] = 1; dic["level"] = 6.8; sh.Insert("person", dic); Sample 2: Insert multiple rows.
Copy Code
var lst = new List<Dictionary<string,>(); var dic1 = new Dictionary<string,>(); dic1["name"] = "John"; dic1["membershipid"] = 1; dic1["level"] = 6.8; lst.Add(dic1); var dic2 = new Dictionary<string,>(); dic2["name"] = "Catherine"; dic2["membershipid"] = 2; dic2["level"] = 9.7; lst.Add(dic2); var dic3 = new Dictionary<string,>(); dic3["name"] = "Thomas"; dic3["membershipid"] = 3; dic3["level"] = 8.6; lst.Add(dic3); sh.Insert("person", lst); 16. UpdateUpdate row. Sample 1: Update with single condition (where id = 1)
Copy Code
var dicData = new Dictionary<string, object>(); dicData["name"] = "no name"; dicData["membershipid"] = 0; dicData["level"] = 5.5; sh.Update("person", dicData, "id", 1); Sample 2: Update with multiple condition (where membership = 1 and level = 5.5)
Copy Code
var dicData = new Dictionary<string, object>(); dicData["name"] = "no name"; dicData["status"] = 0; dicData["money"] = 100; dicData["dateregister"] = DateTime.MinValue; var dicCondition = new Dictionary<string,>(); dicCondition["membershipid"] = 1; dicData["level"] = 5.5; sh.Update("person", dicData, dicCondition); 16. RenameTableRename a table.
Copy Code
sh.RenameTable("person", "person_backup"); 17. CopyAllDataCopy all data from one table to another.
Copy Code
sh.CopyAllData("person", "person_new"); Before copying, 18. DropTableDrop table, delete a table
Copy Code
sh.DropTable("person");
That's it, guys/girls. Comments are welcome. Happy coding Also available at: https://sh.codeplex.com/[^] |
请发表评论