加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Sqlite 常用函数封装:修改密码,创建数据库、获取表段、字段,

发布时间:2020-12-12 20:16:09 所属栏目:百科 来源:网络整理
导读:原文地址:http://www.jb51.cc/article/p-unrjqlwc-gu.html 以下是频繁用到的Sqlite函数,内容格式相对固定,封装一下有助于提高开发效率(^_^至少提高Codeeer的效率了) 而且,我发现Sqlite中文资料比较少,起码相对其他找起来要复杂些,服务一下大众~ 我没

原文地址:http://www.52php.cn/article/p-unrjqlwc-gu.html

以下是频繁用到的Sqlite函数,内容格式相对固定,封装一下有助于提高开发效率(^_^至少提高Codeeer的效率了)

而且,我发现Sqlite中文资料比较少,起码相对其他找起来要复杂些,服务一下大众~

我没有封装读取部分,因为数据库读取灵活性太大,封装起来难度也大,而且就算封装好了,也难以应付所有情况,还是建议根据实际情况设计代码逻辑。

解释下,为啥代码中的注释基本都用英文写了,因为这段时间在学双拼- -。可是还不太熟悉,打字超慢,而且Code的时候容易打断思路,好在~英文不多,而且这些都看不懂的话你……你要向我解释一下你是怎么一路学到数据库的 0。0


修改密码

[csharp] view plain copy print ?
  1. ///<summary>
  2. ///ChangePassword
  3. ///</summary>
  4. ///<paramname="DataSource"></param>
  5. ///<paramname="OldPassword"></param>
  6. ///<paramname="NewPassword"></param>
  7. ///<returns></returns>
  8. publicstaticboolPasswordChange(stringDataSource,stringOldPassword,stringNewPassword)
  9. {
  10. try
  11. {
  12. using(SQLiteConnectionconn=newSQLiteConnection())
  13. {
  14. SQLiteConnectionStringBuilderSCS=newSQLiteConnectionStringBuilder();
  15. SCS.DataSource=DataSource;
  16. SCS.Password=OldPassword;
  17. conn.ConnectionString=SCS.ToString();
  18. conn.Open();
  19. //ChangePassword
  20. conn.ChangePassword(NewPassword);
  21. }
  22. returntrue;
  23. }
  24. catch(ExceptionE)
  25. {
  26. MessageBox.Show(E.Message,"提示",MessageBoxButtons.OK,MessageBoxIcon.Information);
  27. returnfalse;
  28. }
  29. }


创建数据库

[csharp] view plain copy print ?
  1. ///<summary>
  2. ///CreatNewSqliteFile
  3. ///</summary>
  4. ///<paramname="NewTable">NewTableName</param>
  5. ///<paramname="NewWords">WordslistoftheNewTable</param>
  6. ///<paramname="CreatNew">CreatorAddtotheDatabase(UsingtomakeMultiTables)</param>
  7. ///<returns></returns>
  8. publicstaticboolCreat(stringDataSource,stringNewTable,List<string>NewWords,stringPassWord=null,boolCreatNew=true)
  9. {
  10. try
  11. {
  12. if(CreatNew)
  13. {
  14. //CreatDataFile
  15. SQLiteConnection.CreateFile(DataSource);
  16. }
  17. //CreatTable
  18. using(SQLiteConnectionconn=newSQLiteConnection())
  19. {
  20. SQLiteConnectionStringBuilderSCS=newSQLiteConnectionStringBuilder();
  21. SCS.DataSource=DataSource;
  22. SCS.Password=PassWord;
  23. conn.ConnectionString=SCS.ToString();
  24. conn.Open();
  25. //Creat
  26. stringBazinga="createtable["+NewTable+"](";
  27. foreach(stringWordsinNewWords)
  28. {
  29. Bazinga+="["+Words+"]TEXTCOLLATENOCASE,";
  30. }
  31. //SetPrimaryKey
  32. //TheTopitemfromthe"NewWords"
  33. Bazinga+=@"PRIMARYKEY(["+NewWords[0]+"]))";
  34. DbCommandcmd=conn.CreateCommand();
  35. cmd.Connection=conn;
  36. cmd.CommandText=Bazinga;
  37. cmd.ExecuteNonQuery();
  38. }
  39. returntrue;
  40. }
  41. catch(ExceptionE)
  42. {
  43. MessageBox.Show(E.Message,MessageBoxIcon.Information);
  44. returnfalse;
  45. }
  46. }


获取表段

[csharp] view plain copy print ?
  1. ///<summary>
  2. ///GetTablesFromSqlite
  3. ///</summary>
  4. ///<returns>listofTables</returns>
  5. publicstaticList<string>GetTables(stringDataSource,stringPassWord=null)
  6. {
  7. List<string>ResultLst=newList<string>();
  8. try
  9. {
  10. using(SQLiteConnectionconn=newSQLiteConnection())
  11. {
  12. SQLiteConnectionStringBuilderSCS=newSQLiteConnectionStringBuilder();
  13. SCS.DataSource=DataSource;
  14. SCS.Password=PassWord;
  15. conn.ConnectionString=SCS.ToString();
  16. conn.Open();
  17. using(SQLiteCommandtablesGet=newSQLiteCommand("SELECTnamefromsqlite_masterwheretype='table'",conn))
  18. {
  19. using(SQLiteDataReadertables=tablesGet.ExecuteReader())
  20. {
  21. while(tables.Read())
  22. {
  23. try
  24. {
  25. ResultLst.Add(tables[0].ToString());
  26. }
  27. catch(ExceptionE)
  28. {
  29. MessageBox.Show(E.Message,MessageBoxIcon.Information);
  30. }
  31. }
  32. }
  33. }
  34. }
  35. }
  36. catch(ExceptionE)
  37. {
  38. MessageBox.Show(E.Message,MessageBoxIcon.Information);
  39. }
  40. returnResultLst;
  41. }


获取字段

[csharp] view plain copy print ?
  1. ///<summary>
  2. ///GetWordsFromTable->Sqlite
  3. ///</summary>
  4. ///<paramname="TargetTable">TargetTable</param>
  5. ///<returns>listofWords</returns>
  6. publicstaticList<string>GetWords(stringDataSource,stringTargetTable,stringPassWord=null)
  7. {
  8. List<string>WordsLst=newList<string>();
  9. using(SQLiteConnectionconn=newSQLiteConnection())
  10. {
  11. SQLiteConnectionStringBuilderSCS=newSQLiteConnectionStringBuilder();
  12. SCS.DataSource=DataSource;
  13. SCS.Password=PassWord;
  14. conn.ConnectionString=SCS.ToString();
  15. conn.Open();
  16. using(SQLiteCommandtablesGet=newSQLiteCommand(@"SELECT*FROM"+TargetTable,conn))
  17. {
  18. using(SQLiteDataReaderWords=tablesGet.ExecuteReader())
  19. {
  20. try
  21. {
  22. for(inti=0;i<Words.FieldCount;i++)
  23. {
  24. WordsLst.Add(Words.GetName(i));
  25. }
  26. }
  27. catch(ExceptionE)
  28. {
  29. MessageBox.Show(E.Message,MessageBoxIcon.Information);
  30. }
  31. }
  32. }
  33. }
  34. returnWordsLst;
  35. }


取值

[csharp] view plain copy print ?
  1. ///<summary>
  2. ///GetValuesFromSqlite
  3. ///</summary>
  4. ///<returns>listofValues</returns>
  5. publicstaticList<string>GetValues(stringDataSource,stringSql,stringGetColumu,stringPassWord=null)
  6. {
  7. List<string>ResultLst=newList<string>();
  8. using(SQLiteConnectionconn=newSQLiteConnection())
  9. {
  10. SQLiteConnectionStringBuilderSCS=newSQLiteConnectionStringBuilder();
  11. SCS.DataSource=DataSource;
  12. SCS.Password=PassWord;
  13. conn.ConnectionString=SCS.ToString();
  14. conn.Open();
  15. using(SQLiteCommandcmd=newSQLiteCommand(Sql,conn))
  16. {
  17. using(SQLiteDataReaderdr=cmd.ExecuteReader())
  18. {
  19. while(dr.Read())
  20. {
  21. try
  22. {
  23. ResultLst.Add(dr[GetColumu].ToString());
  24. }
  25. catch(ExceptionE)
  26. {
  27. MessageBox.Show(E.Message,MessageBoxIcon.Information);
  28. }
  29. }
  30. }
  31. }
  32. }
  33. returnResultLst;
  34. }


插入数据

[csharp] view plain copy print ?
  1. ///<summary>
  2. ///InsertData
  3. ///</summary>
  4. ///<paramname="DataSource"></param>
  5. ///<paramname="TargetTable"></param>
  6. ///<returns></returns>
  7. publicstaticboolInsert(stringDataSource,stringColumnS,stringValueS,stringPassWord=null)
  8. {
  9. try
  10. {
  11. using(SQLiteConnectionconn=newSQLiteConnection())
  12. {
  13. SQLiteConnectionStringBuilderSCS=newSQLiteConnectionStringBuilder();
  14. SCS.DataSource=DataSource;
  15. SCS.Password=PassWord;
  16. conn.ConnectionString=SCS.ToString();
  17. conn.Open();
  18. //Insert
  19. DbCommandcmd=conn.CreateCommand();
  20. cmd.CommandText="insertinto["+TargetTable+"]("+ColumnS+")values("+ValueS+")";
  21. cmd.ExecuteNonQuery();
  22. returntrue;
  23. }
  24. }
  25. catch(ExceptionE)
  26. {
  27. MessageBox.Show(E.Message,MessageBoxIcon.Information);
  28. returnfalse;
  29. }
  30. }


删除数据

[csharp] view plain copy print ?
  1. ///<summary>
  2. ///DeleteDate
  3. ///</summary>
  4. ///<paramname="DataSource"></param>
  5. ///<paramname="TargetTable"></param>
  6. ///<paramname="Word"></param>
  7. ///<paramname="Value"></param>
  8. ///<returns></returns>
  9. publicstaticboolDelete(stringDataSource,stringWord,stringValue,stringPassWord=null)
  10. {
  11. try
  12. {
  13. //Connect
  14. using(SQLiteConnectionconn=newSQLiteConnection())
  15. {
  16. SQLiteConnectionStringBuilderSCS=newSQLiteConnectionStringBuilder();
  17. SCS.DataSource=DataSource;
  18. SCS.Password=PassWord;
  19. conn.ConnectionString=SCS.ToString();
  20. conn.Open();
  21. DbCommandcmd=conn.CreateCommand();
  22. cmd.Connection=conn;
  23. //Delete
  24. cmd.CommandText="DeleteFrom"+TargetTable+"where["+Word+"]='"+Value+"'";
  25. cmd.ExecuteNonQuery();
  26. }
  27. returntrue;
  28. }
  29. catch(ExceptionE)
  30. {
  31. MessageBox.Show(E.Message,MessageBoxIcon.Information);
  32. returnfalse;
  33. }
  34. }


执行Sqlite指令

[csharp] view plain copy print ?
  1. ///<summary>
  2. ///SQLiteCommand
  3. ///</summary>
  4. ///<paramname="DataSource"></param>
  5. ///<paramname="Sql"></param>
  6. ///<returns></returns>
  7. publicstaticboolSqlCommand(stringDataSource,stringPassWord=null)
  8. {
  9. try
  10. {
  11. using(SQLiteConnectionconn=newSQLiteConnection())
  12. {
  13. SQLiteConnectionStringBuilderSCS=newSQLiteConnectionStringBuilder();
  14. SCS.DataSource=DataSource;
  15. SCS.Password=PassWord;
  16. conn.ConnectionString=SCS.ToString();
  17. conn.Open();
  18. using(SQLiteCommandcmd_Re=newSQLiteCommand(Sql,conn))
  19. {
  20. cmd_Re.ExecuteNonQuery();
  21. }
  22. }
  23. returntrue;
  24. }
  25. catch(ExceptionE)
  26. {
  27. MessageBox.Show(E.Message,MessageBoxIcon.Information);
  28. returnfalse;
  29. }
  30. }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读