表結構:
"號段" "所屬地區" "號碼型別" "區號"
1300000 "北京市" "聯通" "010"
1300001 "江蘇省常州市" "聯通" "0519"
1300002 "安徽省巢湖市" "聯通" "0565"
1300006 "江蘇省南京市" "聯通" "025"
1300008 "湖北省武漢市" "聯通" "027"
使用兩種方法實現插入:
一、insert方法:
**如下:
//定義資料連線字串二、使用sqlbulkcopy方法:private string connstr = configurationmanager.connectionstrings["connstr"].connectionstring;
/// /// 用insert方法從文字檔案中批量匯入到資料庫表中
///
///
///
private void btninsert_click(object sender, routedeventargs e)
//獲得檔名包括路徑
string filename = ofd.filename;
try, stringsplitoptions.removeemptyentries);//將讀取的字串按"製表符/t「和」」「分割成陣列
string startnum = strs[0];
string numarea = strs[1];
string numtype = strs[2];
cmd.commandtext = "insert into t_phoneinfo(fstartnum,fnumarea,fnumtype) values(@startnum,@numarea,@numtype)";
cmd.parameters.clear();//清除上一次的引數
cmd.parameters.add(new sqlparameter("@startnum", startnum));
cmd.parameters.add(new sqlparameter("@numarea", numarea));
cmd.parameters.add(new sqlparameter("@numtype", numtype));
cmd.executenonquery();}}
}}}//結束時間-開始時間=總共花費的時間
timespan ts = datetime.now - starttime;
}catch (ioexception ex)
catch (exception ex)
}
**如下:
private void btnsqlbulkcopy_click(object sender, routedeventargs e)此方法共花費時間//獲得檔名包括路徑
string filename = ofd.filename;
try, stringsplitoptions.removeemptyentries);//將讀取的字串按"製表符/t「和」」「分割成陣列
string startnum = strs[0];
string numarea = strs[1];
string numtype = strs[2];
//往對應的 行中新增資料
dr["startnum"] = startnum;
dr["numarea"] = numarea;
dr["numtype"] = numtype;
table.rows.add(dr);//將建立的資料行新增到table中}}
}sqlbulkcopy bulkcopy = new sqlbulkcopy(connstr);
bulkcopy.destinationtablename = "t_phoneinfo";//設定資料庫中物件的表名
//設定資料表table和資料庫中表的列對應關係
bulkcopy.writetoserver(table);//將資料表table複製到資料庫中
timespan ts = datetime.now - starttime;}}
catch (ioexception ex)
catch (exception ex)
}
差距啊,sqlbulkcopy在批量資料匯入的時候效率好高。
SQL資料庫與文字檔案之間的大批量資料互導
開啟 xp cmdshell exec sp configure show advanced options 1 reconfigure exec sp configure xp cmdshell 1 reconfigure exec master.xp cmdshell bcp select fr...
C 讀取文字檔案
很多初學c 的同學,對於讀取文字檔案,並按照行處理資料總是有點不知如何開始,作為c 的初學者,自己在這裡做一點筆記。其實利用c 按行讀取文字檔案其實很簡單。假設有乙個文字檔案,如下所示 1 2 3 2 3 4 3 4 5 5 6 7 7 8 9 檔名為split.txt 目的 按照行讀取資料,並乙個...
文字檔案從磁碟讀取 寫入
using system using system.text using system.io namespace x.common return result 寫入文字檔案,按預設編碼 文字檔案路徑包括檔名 寫入內容 public static void write string filepath,...