Re: [VB6 ] 用ADO語法 更新資料庫裡面的資料

看板Visual_Basic作者 (不好笑啦)時間16年前 (2010/01/05 09:00), 編輯推噓1(103)
留言4則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《wolfsiyb (阿B)》之銘言: : Time1 = Format(Now, "yyyy/mm/dd") : SQL1 = "Update 會員資料 Set 餘額 =" + Str(Money) + " Where 會員編號=" + Str(k) : SQL2 = "Update DVD資料表 Set 出租次數 = 出租次數 + 1 Where ID=" : SQL3 = "Update DVD資料表 Set 歸還時間 = " + Time1 + " Where ID=" : Connstr = "Provider=Microsoft.Jet.OLEDB.3.51;" & _ : "Data Source=C:\Documents and Settings\mibi\My Documents\rfid.mdb" : conn.Open Connstr : Set cmd.ActiveConnection = conn : cmd.CommandText = SQL1 : Set rs = cmd.Execute : conn.Close : conn1.Open Connstr : Set cmd2.ActiveConnection = conn1 : Set cmd1.ActiveConnection = conn1 : For i = 1 To n : cmd2.CommandText = SQL3 + Str(x(i)) : Set rs2 = cmd2.Execute(, Time1) : cmd1.CommandText = SQL2 + Str(x(i)) : Set rs1 = cmd1.Execute : Next i : conn1.Close : 以上是我要將資料庫內的資料更新 : 其中SQL1是更新可用餘額 SQL2是原值+1 SQL3是將"現在時間"更新進去 : 單跑SQL1沒有問題 加跑SQL2也沒有問題 : 可是SQL3會出現 : 執行階段錯誤 '-2147217887 (80040e21)' : 無法更新 歸還時間;欄位不能更新 : 不知道有沒有大大能幫忙看看 卡一個下午了 我的經驗是在資料庫端出問題 你可以把 SQL3 執行時的實際語法貼到資料庫去執行 也就是說 SQL3 的語法是有問題的 改成這樣試試: SQL3 = "Update DVD資料表 Set 歸還時間 = '" + Time1 + "' Where ID=" (加二個單引號) -- 我的Facebook: http://0rz.tw/v70Uy 有玩餐城的話可以加我交換食材 (雖然可能已經加過了XD) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.136.38.162

01/05 13:42, , 1F
感謝大大..其實我的欄位叫 歸還日期, 我打成歸還時間
01/05 13:42, 1F

01/05 13:43, , 2F
所以更新不了~~
01/05 13:43, 2F

01/05 13:45, , 3F
也就是俗稱的鬼遮眼XD
01/05 13:45, 3F

01/05 15:11, , 4F
可見:睡覺時間還是應該睡覺才對。(嚴肅狀)
01/05 15:11, 4F
文章代碼(AID): #1BGeyO8H (Visual_Basic)
文章代碼(AID): #1BGeyO8H (Visual_Basic)