| 发表于:2008-02-28 15:08:247楼 得分:0 |
comm c = new comm(); private string path; private int line = 0; public dataclass(string path) { this.path = path; } private int dowork() { streamreader sr = new streamreader(path); while (sr.readline()!=null) { line++; } sr.close(); return line; } /// <summary> /// 文檔數據讀入dataset /// </summary> /// <param name = "tablename"> 數據表名 </param> /// <param name = "n"> 從文檔多少行開始作為數據 </param> /// <param name = "col"> 列數 </param> /// <param name = "ch"> 文檔路徑 </param> public dataset tablebase(string tablename, int n, int col,char ch,toolstripstatuslabel rowconut, toolstripprogressbar progress) { try { streamreader sr = new streamreader(path); progress.minimum = 0; int rows = dowork(); progress.maximum = rows; dataset ds = myset(tablename); string line = ""; for (int i = 0; i < rows; i++) { rowconut.text = "行數:" + i + "/" + rows.tostring(); application.doevents(); line = sr.readline(); progress.value++; if (i > = n) { string[] srvalue = line.split(','); datarow row = ds.tables[tablename].newrow(); for (int j = 0; j < ds.tables[tablename].columns.count; j++) { row[j] = srvalue[j]; } ds.tables[tablename].rows.add(row); } } sr.close(); //if (list.count == 0) //{ // messagebox.show("文檔中沒有數據行!", "提示!", messageboxbuttons.ok, messageboxicon.stop); // return null; //} //if (list.count < n - 1) //{ // messagebox.show("開始數據行超過範圍!", "提示!", messageboxbuttons.ok, messageboxicon.stop); // return null; //} return ds; } catch (exception err) { throw err; } 讀取出來後插入數據庫!~~ 想用多線程來讀!~~ 那個大哥給個實例``` | | |
|