[SQL ](VB) Excel更新資料後匯入linux mysql~

看板Visual_Basic作者 (~砍掉重練~)時間15年前 (2010/05/11 17:33), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/1
※ [本文轉錄自 Database 看板] 作者: winnieboy (~砍掉重練~) 看板: Database 標題: [SQL ](VB) Excel更新資料後匯入linux mysql~ 時間: Tue May 11 17:32:16 2010 各位大哥好,因工作需求要將excel匯入mysql 及 將 mysql匯出excel 以上二個功能都做完了,但還需要一個功能就是我匯入一份Excel後, 要修改Excel上的任意數值後再匯入一次,這時就會出現錯誤。 duplicate entry 'ABA00001' for key 1 感覺是不能用rs.AddNew,但把AddNew那行註解後也是出現一樣的訊息 我使用ADO 的方式,附上程式碼 希望有高手出現 Orz.... Dim conn As ADODB.Connection Set conn = New ADODB.Connection Dim rs As ADODB.Recordset Set rs = New ADODB.Recordset conn.CursorLocation = adUseClient conn.ConnectionString = "DRIVER=MySQL ODBC 3.51 DRIVER;SERVER=192.168.2.18;DATABASE=test;UID=root;password=123456" conn.Open rs.Open "SELECT * FROM User ", conn, adOpenStatic, adLockOptimistic Do Until Res.EOF 'rs.AddNew rs("Serial_No") = Res.Fields(0).Value rs("PW") = Res.Fields(1).Value rs("Manufacture date") = Res.Fields(2).Value rs("Product name") = Res.Fields(3).Value Res.MoveNext rs.Update Loop -- http://www.wretch.cc/user/littlesafe99 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.211.183 -- http://www.wretch.cc/user/littlesafe99 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.112.211.183

05/11 17:42, , 1F
我笨了好幾天....剛突然解決了.....Orz...
05/11 17:42, 1F

05/11 22:52, , 2F
要不要順便說一下是怎麼解決的?
05/11 22:52, 2F

05/12 09:04, , 3F
目前是寫雙重迴圈判斷主鍵是否在資料庫內再做更新...
05/12 09:04, 3F

05/12 09:04, , 4F
但我覺得這樣速度好像有點慢,有人推薦用Insert..還在試
05/12 09:04, 4F

05/12 09:09, , 5F
應該說是 INSERT … ON DUPLICATE KEY UPDATE.....
05/12 09:09, 5F

05/12 11:25, , 6F
如果是 MySQL 直接用 replace into 吧...
05/12 11:25, 6F

05/12 13:18, , 7F
最後還是使用Delete後再addNew的方式 = =..
05/12 13:18, 7F
文章代碼(AID): #1BwIHleJ (Visual_Basic)