最近使用OLEDB編寫一個mdb數據表錄入程序小有心得,現總結如何:
一、.數據表及數據結構的填充
1.使用OLEDBConnection配合連接字符串進行數據庫連接,連接字符串彙總如下: a.對於Excel 2007-2010的xlsx文件使用字符串: "provider=Microsoft.ACE.OLEDB.12.0;Persist Security Info=False;" + "data source=" + fileName + ";Extended Properties ='Excel 12.0 Xml;HDR=YES;IMEX=2'" b.對於Excel 2003的xls使用字符串: "provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;" + "data source=" + fileName + ";Extended Properties = 'Excel 8.0;HDR=YES;IMEX=2'"; 其中HDR表示是否將首行視作標題行,IMEX=0表示導入(寫) =1表示導出(只讀) =2混合模式詳見: http://www.cnblogs.com/windy2008/archive/2012/11/14/2769551.html c.對於Access的mdb使用字符串: "provider=Microsoft.JET.OLEDB.4.0;Persist Security Info=False;" + "data source=" + fileName;
2.數據表的填充
定義OLEDBDataAdapter進行填充,代碼示例如下:
OleDbDataAdapter dataAdapter = sql.ExcuteSQLInMdb(command);
if (dataAdapter == null)
return false;
if (ds.Tables.Contains(tableName))
return false;
dataAdapter.Fill(ds, tableName); //填充表到DataSet中
dataAdapter.FillSchema(ds, SchemaType.Mapped, tableName); //填充表的元數據信息到DataSet中
3.數據表間關係的映射
從mdb中讀取MSysRelationships表,該表保存了表間關係:
通過將上表各行轉換成:DataRelation對象,再添加到DataSet中就完成了關係映射。