午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術文章
文章詳情頁

把Excel表中數據導入數據庫

瀏覽:172日期:2022-08-03 18:41:28

這是第二次了,市場部那邊又來要求改數據。他們要改的是數據庫某張表中類似商品價格等的數據,需要改的地方又多,我們上次是靠新來的兄弟一個個給Update進去的,這次老大去教了他們Update語句,把煩人的皮球踢給他們了。但這樣一個個更新很明顯不是辦法,我想通過excel直接把數據導入數據庫應該是可行的吧,就開始找方法了

我想至少有這樣兩種比較容易實現的方法:1、直接用Sql語句查詢2、先用excle中的數據生成xml文件,再把xml導入數據庫

第一種方法(方法二以后再試),找到聯機叢書里實現此功能的Sql語句如下:

SELECT * FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0', 'Data Source='c:Financeaccount.xls';User ID=Admin;Password=;Extended properties=Excel 5.0')...xactions語句是有了,但我還是試了很久,因為各個參數具體該怎么設置它沒有說。Data Source就是excel文件的路徑,這個簡單;UserId、Password和Extended properties這三個屬性我改成了各種各樣的與本機有關的用戶名、密碼以及excel版本都不對,最后用上面例子里的值“User ID=Admin;Password=;Extended properties=Excel 5.0”才成功了,暈啊;最后個“xactions”更是查了很多資料,其實就僅僅是excel文件里所選的工作表名而已,怪我對excel不夠熟悉了,另外注意默認的Sheet1要寫成[Sheet1$]

最后,看看我成功的測試數據庫里建好一個表testTable_1,有5個字段id, name, date, money, content,C盤下book1.xls文件的sheet1工作表里寫好對應的數據并設好數據類型,執行如下插入語句:

insert into testTable_1 ([name], [date], [money], [content])Select [姓名], [日期], [金額], [內容]FROM OpenDataSource( 'Microsoft.Jet.OLEDB.4.0','Data Source='C:Book1.xls';User ID=Admin;Password=;Extended properties=Excel 5.0')...[Sheet1$]select里的列名我一開始用*代替,但發現輸出順序與我預期的不同,是“金額、內容、日期、姓名”,不知道具體有什么規律,就老老實實寫名字了。操作成功

回過頭來看看市場部的要求,假設在我這張表里實現,可以先判斷如excel里存在與記錄相同的name字段(name要唯一非空)時就刪除記錄,之后再插入,這樣簡單,但自增的id字段會因為插入而改變,那是不行的了。可行的方法是先讀出excel里全部記錄,然后用游標一條條分析,如果存在這個name就更新否則就插入。OK,下次就不用讓他們再對著文檔一條條Update了

標簽: excel
主站蜘蛛池模板: 日本欧美一区二区三区 | 男人的伸进里面免费网站 | 亚洲三级a | 一区二区三区四区在线 | 亚洲国产精品自拍 | 专业操老外 | 欧美一级特黄高清视频 | 国产精品自拍99 | 老司机福利精品 | 日本成人综合 | 中文字幕第一页av | 成人免费视频一区二区 | 国产精品丝袜在线 | 久久青青操 | 40一50一60老女人毛片 | 免费a级片在线观看 | 婷婷色网站 | 五月婷婷综合激情网 | 黄色动漫在线免费观看 | 91超碰在线免费观看 | 欧美成人精品欧美一级私黄 | 四虎影院永久地址 | 岛国av免费在线观看 | 国产成人精品视频在线观看 | 亚洲第一男人天堂 | 久草手机在线 | jlzzjlzzjlzz亚洲人 | 国产99精品视频 | 成年人不懂如何谈恋爱免费观看 | 一区二区三区小视频 | 日本一区二区三区四区视频 | 香蕉av网 | 在线免费观看亚洲 | 久久免费福利 | 中文字幕亚洲天堂 | 日韩一区二区三区视频在线观看 | 长河落日电视连续剧免费观看01 | 欧美日韩亚洲一区 | 成人av免费在线 | 色婷婷婷婷色 | 高清一区二区三区四区 |