近日有需要寫點C#程式,有用到Dataset資料集和SQLite資料庫,由於我從來就不擅長記各種程式語言的語法,所以在查閱一堆資料後,留下以下內容備忘: 一、SQLite操作,直接貼程式碼,很簡單
近日有需要寫點C#程式,有用到Dataset資料集和SQLite資料庫,由於我從來就不擅長記各種程式語言的語法,所以在查閱一堆資料後,留下以下內容備忘:
一、SQLite操作,直接貼程式碼,很簡單:
//建立一個數據庫檔案
string datasource=Application.StartupPath + "\\test.db" ;
System.Data.SQLite.SQLiteConnection. CreateFile (datasource);
//連線資料庫
System.Data.SQLite.SQLiteConnection
conn =
new System.Data.SQLite. SQLiteConnection ();
System.Data.SQLite.SQLiteConnectionStringBu ilder
connstr =
new System.Data.SQLite. SQLiteConnectionStringBuilder ();
connstr.DataSource
= datasource;
connstr.Password
= "admin" ; //設定密碼,SQLite
ADO.NET實現了資料庫密碼保護
conn.ConnectionString
= connstr.
conn. Open ();
//建立表
System.Data.SQLite.SQLiteCommand
cmd = new System.Data.SQLite. SQLiteCommand ();
string sql
= "CREATE TABLE test(username varchar(20),password varchar(20))" ;
cmd.CommandText=sql;
cmd.Connection=conn;
cmd. ExecuteNonQuery ();
//插入資料
sql
=
cmd.CommandText
= sql;
cmd. ExecuteNonQuery ();
//取出資料
sql
= "SELECT * FROM test" ;
cmd.CommandText
= sql;
System.Data.SQLite.SQLiteDataReader
reader = cmd. ExecuteReader ();
StringBuilder
sb = new StringBuilder ();
while (reader. Read ())
{
sb. Append ( "username:" ). Append (reader. GetString ( 0 )). Append ( "\n" )
. Append ( "password:" ). Append (reader. GetString ( 1 ));
}
MessageBox. Show (sb. ToString ());
二、利用Dataset資料集向SQLite資料庫插入資料,也直接貼程式碼:
DialogResult dlgResult= openFileDialog1. ShowDialog (); // 開啟要匯入的檔案
if (openFileDialog1.FileName == "" || dlgResult != DialogResult.OK)
return ;
// 利用StreamReader類讀取文字內容
StreamReader sr= new StreamReader
(File. OpenRead (openFileDialog1.FileName),System.Text.Encoding.Default);
//連線資料庫
System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite. SQLiteConnection ();
System.Data.SQLite.SQLiteConnectionStringBuilder connstr
= new System.Data.SQLite. SQLiteConnectionStringBuilder ();
connstr.DataSource = datasource;
connstr.Password = "admin" ; //設定密碼,SQLite ADO.NET實現了資料庫密碼保護
conn.ConnectionString = connstr. ToString ();
conn. Open ();
//大量更新時採用事務的方式,先快取事務,然後SQLiteDataAdapter.update後批量commit
SQLiteTransaction ts = conn. BeginTransaction ();
string sql= " select name,number from test limit 1" ;
SQLiteDataAdapter dta = new SQLiteDataAdapter (sql,conn);
SQLiteCommandBuilder scb = new SQLiteCommandBuilder (dta);
dta.InsertCommand=scb. GetInsertCommand ();
DataSet DS = new DataSet ();
dta. FillSchema (DS,SchemaType.Source, "Temp" ); //載入表架構
注意
dta. Fill (DS, "Temp" ); //載入表資料
DataTable DT = DS.Tables[ "Temp" ];
//插入資料
while (!sr.EndOfStream)
{
string [] strArr = sr. ReadLine (). Split ( new Char[] { '\t' });
if (strArr[ 0 ] != "" && strArr[ 1 ] != "" )
{
DataRow DR = DT. NewRow ();
DR[ 0 ]=strArr[ 0 ];
DR[ 1 ]=strArr[ 1 ];
DT.Rows. Add (DR);
}
}
int result=dta. Update (DT); //
如不用BeginTransaction和Commit批量提交事務,效能會很低,350條資料20多秒
ts. Commit (); // 提交事務
DS. AcceptChanges ();
// 釋放資源
dta. Dispose ();
DS. Clear ();
conn. Close ();
conn. Dispose ();
sr. Close ();
sr. Dispose ();
MessageBox. Show ( "成功匯入了: " + result. ToString () + "
行資料。" , "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
相關推薦
近日有需要寫點C#程式,有用到Dataset資料集和SQLite資料庫,由於我從來就不擅長記各種程式語言的語法,所以在查閱一堆資料後,留下以下內容備忘: 一、SQLite操作,直接貼程式碼,很簡單
近日有需要寫點C#程式,有用到Dataset資料集和SQLite資料庫,由於我從來就不擅長記各種程式語言的語法,所以在查閱一堆資料後,留下以下內容備忘: 一、SQLite操作,直接貼程式碼,很簡單: //建立一個數據庫檔案 string d
spring常用註解備忘: @Configuration、@ConfigurationProperties、@Bean、@Qualifier
1,下面先給出這四個註解的使用場景程式碼: A,這四個註解的使用如下: /** * 卡牛徵信 */ @Configuration @ConfigurationProperties(prefix="cube.partner.conifg.kn") public clas
用c# 採用BIT-map 方式,從一堆資料中,找出不重複的
採用的是bit-map演算法,關於什麼是bit-map,百度一下; 直接上一段程式碼,用C#改寫的! 如下: class Program { private static int[] flags = new int[1000000];
實驗目的: 1、理解使用者與模式的概念,掌握oracle中使用者管理的基本方法 2、理解系統許可權、物件許可權的概念,掌握分配許可權的方法 3、理解角色的概念,掌握角色的應用方法 實驗內容: 一、使用者
撰寫人——軟體二班——陳喜平 一、使用者管理與應用 1、檢視使用者與模式 show USER; 2、建立使用者 sqlplus sys/[email protected] as sysdba CREATE USER t16436220 IDENTIFIED B
新入職程式設計師:看了別人一個方法7000行程式碼,看得我頭都大了!
在寫程式碼,文件方面,程式設計師最喜歡且最常做的是不寫文件,不寫程式碼註釋,最不願意看到就是:別人不寫文件,別人不寫程式碼註釋,這幾乎是所有程式設計師的一個狀態吧。遇到無文件,無註釋,無人可問的程式碼,對於一個程式設計師來說是比較崩潰的,對麼?想必有部分程式設計師朋友可能會遇到這樣尷尬的場景,不過比
面對一堆資料,沒有分析思路怎麼辦?
本文轉自知乎 作者:空白白白白 ————————————————————————————————————————————————————— 資料分析師一開始當然能做幾個有趣的分析,但是長期做資料分析工作,想法總會枯竭,尋找分析思路就變得異常痛苦。可以這麼說,分析思路直接奠定了資料分析結論
nodejs備忘總結(一) -- node和express安裝與配置,新建簡單專案(附安裝配置過程中遇到問題的解決方法)
安裝node 本文以安裝node_v8.9.0為例(win10環境),下載node-v8.9.0-x64.msi外掛 下載後,安裝,安裝目錄預設為C:\Program Files\nodejs 配置環境變數,系統變數->path,新增“C:\Program Files\nodejs\”
【程式設計師幽默】媽媽說你什麼都好,就不該是個程式設計師
媽媽說你什麼都好,就不該是個程式猿
基礎備忘:細說new與malloc的10點區別
正文 回到頂部 前言 幾個星期前去面試C++研發的實習崗位,面試官問了個問題: new與malloc有什麼區別? 這是個老生常談的問題。當時我回答new從自由儲存區上分配記憶體,malloc從堆上分配記憶體;new/delete會呼叫建構函式/解構函式對
備忘:CentOS-7 使用systemctrl 管理的服務,檔案開啟數上限1024要改
改要 檔案 中 /etc/systemd/system.conf 以下兩個值 DefaultLimitNOFILE=1024000 DefaultLimitNPROC=1024000 並且要重啟機器 --- 反正 我是直接重啟機器 如不改,systemctrl sta
可以將 UI 設計圖直接生成程式碼,簡直太神奇了,這真的是解放了程式設計師生產力嗎?...
【回覆“1024”,送你一個特別推送】作為程式設計師,尤其是前端和移動端的程式設計師,最煩氣和最
Hadoop HDFS bug備忘:DN的刪除佇列與block report的協調引起的資料丟失
現象描述:線上任務出現失敗,日誌中顯示查詢計算用的block失敗。 現象分析:NN記錄了block的所在的DN,但是DN上卻沒有了這個block;通常,刪除過程是先刪除NN\DN上的資料,然後再刪除磁碟上的資料。 肯定是某種條件,使得NN恢復了block資訊,而DN上的確刪
備忘:Junit單元測試
環境 包名 args 方法 成功 junit單元測試 備忘 [] 命名 junit 目前測試都是在main方法中調用目前的結果都需要人工對比是否是想要的 1.使用Junit測試方法,綠色條條代表方法測試成功,沒有bug,如果是紅色條條代表有異常,測試不通過2.點擊方法名、類
css備忘:id選擇器的權重>class選擇器的權重=屬性選擇器的權重>元素選擇器
基本 分享 bubuko col clas AS -c 測試 com 最近的項目要自己寫前端了,重新學習下前端的一下基本知識。 一般在css樣式表中,上面的會被下面的覆蓋,如下圖,文字會顯示藍色: 所以按照正常的來說,下面的css樣式,測試的文字應該還是藍色 但結果,測
填坑:Windows下使用OpenSSL生成自簽證書(很簡單,一個晚上搞明白的,讓後來者少走彎路)
vat 都是 環境 csr 過程 環境變量 crypt 報錯 out 最近在學習中發現openssl 中有個坑,所有的教程都是openssl genrsa -des3 -out private.key 1024,但是產生的證書,npm start 之後就報錯如下: erro
APP快速開發:PC、移動端多項目整合,learun讓開發更暢快
進行 mysql 標準 mvc 解決 說了 配置 功能 整合 以前我們針對快速開發框架的PC模式進行過詳細的探討,了解到一套合適的快速開發框架對一個企業的重要性,今天我們繼續以learun框架為基礎藍本,探討一下其在APP快速開發中的作用。 learun技術支撐 (1)前臺
2018年終鉅獻:阿里、騰訊最新Java面試題,你準備好進BAT了嗎
Java基礎 1.程序和執行緒的區別; 2.Java的併發、多執行緒、執行緒模型; 3.什麼是執行緒池,如何使用? 4.資料一致性如何保證;Synchronized關鍵字,類鎖,方法鎖,重入鎖; 5.Java中實現多型的機制是什麼; 6.如何將一個Java物件序列化到檔案裡;
備忘:numpy中的matrix與array的區別
參考:https://www.cnblogs.com/cymwill/p/7823148.html Numpy matrices必須是2維的,但是 numpy arrays (ndarrays) 可以是多維的(1D,2D,3D····ND). Matrix是Arr
MyBatis備忘:查詢資料庫實現登入功能的一個演示
複習:entity DAO/DBHelper service action jsp 總結:使用mybatis後的區別:DBHelper裡書寫的是SqlSession,而不是自己來拿資料庫連線了,當然這得寫配置檔案SqlMapConfig;serv
貓狗大戰:融合了三種模型的Keras程式碼,準確率直升到99%
使用keras的resnet,inceptionV3,xception模型,首先載入預訓練模型的權重,通過預訓練權重生成對貓狗的訓練值和測試值的特徵向量 預訓練模型下載地址:http://pan.baidu.com/s/1geHmOpH from ker