工作中的碰到的問題,以及處理過程:
問題:1.讀取excel檔案中資料並放到datatable中;
2.快速找出datatable中的重複行;
3.比較excel檔案中重複行時遇到的問題;
4.對「i++」和「i++」的重新認識;
5.嘗試利用sqlbulkcopy 來插入資料;
解析:
對於第1條,我是從網上找的,發現網上98%都是採用oledb方式實現,我稍微改造了一下,
**如下:
**#region
從excel中讀取資料
//////
從excel中讀取資料
//////
excel路徑
///datatable
public
static
datatable importtable(
string
excelpath)
);//
包含excel中表名的字串陣列
string
strtablenames
=new
string
[dtsheetname.rows.count];
for(
intk =0
; k
<
dtsheetname.rows.count; k++)
conn.close();
oledbdataadapter mycommand
=null
;string
strexcel ="
select * from ["+
strtablenames[0]
+"a:r]";
mycommand
=new
oledbdataadapter(strexcel, connstr);
mycommand.fill(mydt);
return
mydt;
}#endregion
對於第二條,為了提高效能,我是這樣實現的,每次遍歷時只跟它後面的資料比較,因為它前面的資料已經跟它比較過了,沒必要它再跟前面的資料比較
**#region
比較datatable中的資料行是不是重複
//////
比較datatable中的資料行是不是重複
//////
///public
static
arraylist arrcfdata(datatable exceldt)
行和第行資料重複
", x, y);
arruserdata.add(ret);}}
+ "出來吧" + dtcompinfo.rows[i][3].tostring()); }}
}catch
(exception ex)
finally
return
arruserdata;
}#endregion
對於第3條:在查詢excel資料中重複行
**if
(dtcompinfo.rows[i][
0].equals(dtcompinfo.rows[j][
0])
&&dtcompinfo.rows[i][
3].equals(dtcompinfo.rows[j][
3]))
行和第行資料重複
",x, y);
break; }
對於第四條:因為老闆要知道excel資料中到底哪些行重複了,所以一旦找到後需要記錄這兩行的索引,我這讀出來的資料跟excel資料實際對應的行數差兩行,所以要在程式中讀到的行索引基礎上在加2
**if
(dtcompinfo.rows[i][
0].tostring().equals(dtcompinfo.rows[j][
0].tostring())
&&dtcompinfo.rows[i][
3].tostring().equals(dtcompinfo.rows[j][
3].tostring()
行和第行資料重複",i
+2, j+2);
break
; }
對於第五條:沒啥好說的就是用sqlbulkcopy 來實現插入
**#region
資料批量匯入資料庫
//////
資料批量匯入資料庫
//////
需要匯入的資料
///對應資料庫中的表名
public
static
void
exportdate(datatable dt,
string
tablename)
}catch
(exception ex)
finally}}
#endregion
C 工作中碰到的一些問題,以及解決的辦法
工作已三年時間,一直都是在 使用c 程式設計,對c 也算是有一些了解,下面是自己碰到的一些c 的問題,以及當時的解決辦法。1 在動態庫中匯出的類中的資源檔案無法正常使用 解決辦法 在呼叫動態庫中的資源時,需要切換資源控制代碼。2 在程式中 呼叫某些動態庫中的 匯出函式,或者匯出類時,提示鏈結錯誤 解...
關於在工作中遇到沒處理過的問題,如何尋找解決方案
有感於和同事的一次的處理經歷 最近公司有個專案需要處理熱插拔的東西,首先想到的是是否已經有已有的方案,在gdk上面找到了已經有的方案,知道glib的庫裡面有相關的解決方式,但是對於gtk的一套東西確實語法不太熟悉,沒有繼續追蹤下去,後來另外找了乙個可以直接呼叫的庫,然後應用到專案中後,發現對於該庫的...
工作中碰到的一些問題小結
解決措施 在某些作業系統上,當啟動資料庫或者建立資料庫時都可能出現ora 27125錯誤,在linux 6上安裝oracle 10.2.0.1,建立資料庫時就遇到了這個錯誤。這個錯誤的解決就是修改 proc sys vm hugetlb shm group 檔案。oracle文件上關於ora 271...