關於資料讀取插入(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 入棧