2019年8月9日 星期五

Sqlite用法


Sqlite


  1. C# 判斷檔案是否存在

判斷檔案是否存在
如何判斷檔案是否存在,可以透過
File.Exists 方法 : 判斷指定的檔案是否存在。
http://msdn.microsoft.com/zh-tw/library/system.io.file.exists(VS.80).aspx
在 MSDN 中有提出依些要注意的事情

Exists 方法不應用於路徑驗證,這個方法僅會檢查 path 中指定的檔案是否存在。將無效路徑傳遞至 Existsl 會傳回 false。
請注意,在您呼叫 Exists 方法並對檔案執行其他作業 (例如,Delete) 的期間內,其他處理序有可能對檔案進行某些動作。建議的程式設計作法是在如範例所示的 Try...Catch 區塊中,包裝 Exists 方法,以及您對檔案採取的作業,這有助於縮小潛在衝突的範圍。Exists 方法只能協助確保檔案可供使用,但不保證一定可用。
允許用 path 參數來指定相對或絕對路徑的資訊。相對路徑資訊會被解譯為與目前的工作目錄相對。若要取得目前的工作目錄,請參閱 GetCurrentDirectory。
如果 path 描述目錄,這個方法會傳回 false。判斷檔案是否存在之前,移除 path 參數後端的空白字元。

以下來判斷 test.txt 檔案是否存在

  1. C# 嵌入資料庫SQLite的簡單用法

引用百度百科的說法:SQLite,是一款輕型的資料庫,是遵守ACID的關係型數據庫管理系統,它包含在一個相對小的C庫中。它是D.RichardHipp建立的公有領域專案。它的設計目標是嵌入式的,而且目前已經在很多嵌入式產品中使用了它,它佔用資源非常的低,在嵌入式設備中,可能只需要幾百K的記憶體就夠了。它能夠支援Windows/Linux/Unix等等主流的作業系統,同時能夠跟很多程式語言相結合,比如 Tcl、C#、PHP、Java等,還有ODBC介面,同樣比起Mysql、PostgreSQL這兩款開源的世界著名資料庫管理系統來講,它的處理速度比他們都快。SQLite第一個Alpha版本誕生於2000年5月。 至2015年已經有15個年頭,SQLite也迎來了一個版本 SQLite 3已經發佈。具體下載位址:

引用命名空間:
using System.Data.SQLite;
using System.Data.SQLite.Generic;
using System.Data.Common;

        /// <summary>
        ///【測試方法】 簡答的測試SQLite資料庫及表的創建過程
        /// </summary>
        [TestMethod()]
        public void Test()
        {
            string strConnectionString = string.Empty,/*SQLite連接字串,剛開始沒有,暫時留空*/
                   strDataSource = @"D:test.db";//SQLite資料庫檔存放物理位址
            //用SQLiteConnectionStringBuilder構建SQLite連接字串
            System.Data.SQLite.SQLiteConnectionStringBuilder scBuilder = new SQLiteConnectionStringBuilder();
            scBuilder.DataSource = strDataSource;//SQLite資料庫位址
            scBuilder.Password = "123456";//密碼
            strConnectionString = scBuilder.ToString();
            using (SQLiteConnection connection = new SQLiteConnection(strConnectionString))
            {
                //驗證資料庫檔是否存在
                if (System.IO.File.Exists(strDataSource) == false)
                {
                    //創建資料庫檔
                    SQLiteConnection.CreateFile(strDataSource);
                }
                //打開資料連接
                connection.Open();
                //Command
                SQLiteCommand command = new SQLiteCommand(connection);
                command.CommandText = "CREATE TABLE tb_User(ID int,UserName varchar(60));INSERT INTO [tb_User](ID,UserName) VALUES(1,'A')";// "CREATE TABLE tb_User(ID int,UserName varchar(60));";
                command.CommandType = System.Data.CommandType.Text;
                //執行SQL
                int iResult = command.ExecuteNonQuery();
                //可省略步驟=======關閉連接
                connection.Close();
            }
        }
  1. CommandType屬性
使用CommandType屬性,以最佳化的評估結果CommandText屬性。
如果CommandType屬性值設為預設值為adCmdUnknown,您可能會感覺到的效能,因為 ADO 必須進行呼叫提供者,以判斷CommandText屬性是 SQL 陳述式、 預存程序中或資料表名稱。 如果您知道您正在使用的命令類型,則設定CommandType屬性會指示 ADO,直接移至相關的程式碼。 如果CommandType屬性不符合命令中的型別CommandText屬性,您呼叫時發生錯誤Execute方法。

  1. sqlite 資料庫加密

沒有留言:

張貼留言

WPF聊天室应用(ASP.NET Core SignalR)

  WPF聊天室应用(ASP.NET Core SignalR) https://www.bilibili.com/video/BV1Q741187Si?p=2 https://www.bilibili.com/video/BV1UV411e75T?from=search&...