1. 程式人生 > >關於資料讀取插入(C#,SQLite)

關於資料讀取插入(C#,SQLite)

讀取:

        public List<CategoryInfo> GetAllData()
        {
            List<Model.CategoryInfo> list = new List<CategoryInfo>();
            string sql = "select * from CategoryInfo order by CatId desc";
            using (SQLiteDataReader reader=SQLiteHelper.ExecuteReader(sql))
            {
                while (reader.Read
()) { Model.CategoryInfo categoryInfo = new CategoryInfo(); categoryInfo.Catid = Convert.ToInt32(reader[0]); categoryInfo.Catname = reader[1].ToString(); categoryInfo.Catnum = reader[2].ToString(); categoryInfo.Remark
= reader[3].ToString(); categoryInfo.Delflag = Convert.ToInt32(reader[4]); categoryInfo.Subtime = Convert.ToDateTime(reader[5]); categoryInfo.Subby = Convert.ToInt32(reader[6]); list.Add(categoryInfo); } } return list;
}

插入資料

        public int InsertData(Model.CategoryInfo categoryInfo)
        {
            List<string> listParaName = new List<string>();
            List<SQLiteParameter> listPara = new List<SQLiteParameter>();
            IniList(categoryInfo, listParaName, listPara);
            string sql = "insert into CategoryInfo({0}) values({1});";
            sql = string.Format(sql, string.Join(",", listParaName), "@" + string.Join(",@", listParaName));
            return SQLiteHelper.ExecuteNonQuery(sql, listPara.ToArray());
        }

其中插入後sql如下:

insert into CategoryInfo(Catname,Catnum,Delflag,Remark,Subby,Subtime) values(@Catname,@Catnum,@Delflag,@Remark,@Subby,@Subtime);

初始化

        private void IniList(CategoryInfo categoryInfo, List<string> listParaName, List<SQLiteParameter> listPara)
        {
            if (categoryInfo.Catid!=null)
            {
                listParaName.Add("Catid");
                listPara.Add(new SQLiteParameter("@Catid", categoryInfo.Catid));
            }

            if (categoryInfo.Catname != null)
            {
                listParaName.Add("Catname");
                listPara.Add(new SQLiteParameter("@Catname", categoryInfo.Catname));
            }
            if (categoryInfo.Catnum != null)
            {
                listParaName.Add("Catnum");
                listPara.Add(new SQLiteParameter("@Catnum", categoryInfo.Catnum));
            }
            if (categoryInfo.Delflag != null)
            {
                listParaName.Add("Delflag");
                listPara.Add(new SQLiteParameter("@DelFlag", categoryInfo.Delflag));
            }
            if (categoryInfo.Remark != null)
            {
                listParaName.Add("Remark");
                listPara.Add(new SQLiteParameter("@Remark", categoryInfo.Remark));
            }
            if (categoryInfo.Subby != null)
            {
                listParaName.Add("Subby");
                listPara.Add(new SQLiteParameter("@Subby", categoryInfo.Subby));
            }
            if (categoryInfo.Subtime != null)
            {
                listParaName.Add("Subtime");
                listPara.Add(new SQLiteParameter("@Subtime", categoryInfo.Subtime));
            }
        }

相關推薦

關於資料讀取插入C#,SQLite

讀取: public List<CategoryInfo> GetAllData() { List<Model.Categor

7-6 混合型別資料格式化輸入C語言

本題要求編寫程式,順序讀入浮點數1、整數、字元、浮點數2,再按照字元、整數、浮點數1、浮點數2的順序輸出。 輸入格式: 輸入在一行中順序給出浮點數1、整數、字元、浮點數2,其間以1個空格分隔。 輸出格式: 在一行中按照字元、整數、浮點數1、浮點數2的順序輸出,其中浮點數保留小數點後2

資料結構——排序C語言

在資料結構中我們常見的排序演算法有:直接插入排序、希爾排序、選擇排序、堆排序、交換排序(氣泡排序)、快速排序、歸併排序,接下來我給大家分享一下我在寫這些程式碼時的想法(從小到大,從左到右),以及各個排序的比較 首先我們得寫一個交換函式,因為後面基本每個排序都有使用。 vo

ACM題目中輸入資料的處理C++版

                  ACM競賽題目的輸入資料常要求有多組,並且格式多種多樣,這是初次登OJ平臺的同學的一個障礙。實際上,這些格式可以歸為固定的幾種型別,本文介紹各種型別的處理方法,以幫助同學們克服這些障礙。  實際上,這些模式不僅是OJ平臺上做題的需要。在平時的自由程式設計練習中,也可以自行使

資料結構之折半插入排序圖文詳解及程式碼C++實現

問題:對待排序的陣列r[1..n]中的元素進行直接插入排序,得到一個有序的(從小到大)的陣列r[1..n]。演算法思想:1、設待排序的記錄存放在陣列r[1..n]中,r[1]是一個有序序列。2、迴圈n-1次,每次使用折半查詢法,查詢r[i](i=2,..,n)在已排好的序列r

循環鏈表的創建、插入、刪除、逆序、顯示C++實現

i++ pos str pre hide mar add 這樣的 itl 對於單鏈表,因為每一個結點僅僅存儲了向後的指針。到了尾標誌就停止了向後鏈的操作,這樣,其中某一結點就無法找到它的前驅結點了。 對於單鏈表的操作大家能夠看我的這篇博客http://

C語言實現單鏈表的節點插入帶頭結點

alloc tails 函數 file ret con 實現 單獨 fun 我在之前一篇博客《C語言實現單鏈表(不帶頭結點)節點的插入》中具體實現了怎樣在一個不帶頭結點的單鏈表中進行節點的插入。可是在實際應用中,帶頭結點的鏈表更為經常使用。更為方便。今天我們

資料結構---棧C語言陣列實現

https://blog.csdn.net/morixinguan/article/details/51374184 資料結構---棧(C語言陣列實現)   棧的全名稱為堆疊,棧其實就是與佇列相反的過程,佇列是先進先出,而棧便是先進後出了,如下圖:  

資料結構---佇列C語言陣列實現

https://blog.csdn.net/morixinguan/article/details/51374296 資料結構---佇列(C語言陣列實現)   佇列是先進先出的過程。簡單地畫一幅畫來描述一下佇列: 一個簡單的、由陣列實現的佇列,可以由以下幾種最基本的操

微信小程式開放資料解密 AES-128-CBC 解密C#版本

最近朋友在弄微信小程式開發,需要跟微信服務端互動,微信敏感資料都有加密返回,需要在服務端接收進行解密後再返回給客戶端小程式,今天就通過C# 進行資料的解密,以下展示是C# 程式碼如果你使用的Java,請訪問這個地址(Java版本) https://blog.csdn

2、【C++】資料抽象/資料封裝/介面抽象類

一、C++資料抽象 1、定義     資料抽象是指,只向外界提供關鍵資訊,並隱藏其後臺的實現細節,即只表現必要的資訊而不呈現細節。資料抽象是一種依賴於介面和實現分離的程式設計(設計)技術。     C++類為資料抽象提供了可能。它們向外界提供了大量用於操作物件資料的公共方法,也就

資料結構——稀疏矩陣運算器C語言

資料結構——稀疏矩陣運算器(C語言) /*****************稀疏矩陣運算器 ****************/ #include<stdio.h> #include<stdlib.h> #define OK 1 #define TRUE

資料結構——排序與查詢2——希爾排序C++實現

希爾排序原理 希爾排序(Shell’s Sort),也稱為“縮小增量排序”,是一種插入排序類的演算法。最簡單的插入排序,我在上一個專欄的一篇文章C++抽象程式設計——演算法分析(8)——插入排序演算法與分析有提到過,這裡就不再贅述,這裡就只介紹一些我以前沒寫過的演算法。 希爾排序是一

資料結構——排序與查詢5——折半查詢C++實現

順序查詢 順序查詢,是一種最直觀的查詢方式。原理閒蕩簡單就是我們正常思維的查詢,從給定的序列出發,依次檢查序列中的每一個專案是否為我們給定的關鍵字。是則查詢成功,否則查詢失敗。 bool searchByOrder(vecter<int> vec){ for(int

資料結構——排序與查詢3——氣泡排序C++實現

交換排序演算法 所謂交換,意思是說根據所給的序列,對其中的兩個元素進行大小比較,若為逆序,那麼我們就交換它。這樣就達到了排序的目的。接下來介紹最簡單的交換排序——氣泡排序。 氣泡排序的原理 氣泡排序的原理很簡單,它反覆遍歷要排序的列表,比較每對相鄰的專案,如果它們的順序錯誤則

資料結構實現:連結串列棧C++版

資料結構實現(六):連結串列棧(C++版) 1. 概念及基本框架 2. 基本操作程式實現 2.1 入棧操作 2.2 出棧操作 2.3 查詢操作 2.4 其他操作 3. 演算法複雜度分析 3.1

資料結構實現:連結串列C++版

資料結構實現(五):連結串列(C++版) 1. 概念及基本框架 2. 基本操作程式實現 2.1 增加操作 2.2 刪除操作 2.3 修改操作 2.4 查詢操作 2.5 其他操作 3. 演算法複雜度分析

資料結構實現:迴圈佇列C++版

資料結構實現(四):迴圈佇列(C++版) 1. 概念及基本框架 2. 基本操作程式實現 2.1 入隊操作 2.2 出隊操作 2.3 查詢操作 2.4 其他操作 3. 演算法複雜度分析 3.1 入

資料結構實現:陣列佇列C++版

資料結構實現(三):陣列佇列(C++版) 1. 概念及基本框架 2. 基本操作程式實現 2.1 入隊操作 2.2 出隊操作 2.3 查詢操作 2.4 其他操作 3. 演算法複雜度分析 3.1 入

資料結構實現:陣列棧C++版

資料結構實現(二):陣列棧(C++版) 1. 概念及基本框架 2. 基本操作程式實現 2.1 入棧操作 2.2 出棧操作 2.3 查詢操作 2.4 其他操作 3. 演算法複雜度分析 3.1 入棧