none
用insert into 在ACCESS插入新資料無動作 RRS feed

  • 問題

  • 各位大大...小在在以VB6.0連接ACCESS資料庫更新資料時

    若以ADD的方式新增資料的程序是OK的..但考慮到資料庫日後維護的問題

    想改以insert into 的方式來寫入再以delete的指令來自動刪除舊資訊!!

    這2者語法應該是相同的..所以我想先測insert into..

    以下是我的程式段落:

     

    Code Snippet

    Dim C As New ADODB.Connection
         Dim R As New ADODB.Recordset
         Dim StrCnn, strsql As String

         Set C = CreateObject("ADODB.Connection")
         Set R = CreateObject("ADODB.Recordset")
         R.CursorLocation = 3
         StrCnn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\test.mdb"
         C.Open StrCnn

    strsql = " inster into REPORT1 (S_STIME,S_ETIME,S_COMM)values(#" & Format(Date, "yyyy/MM/d ") & "#,#" & Format(Time) & "#,OPEN)"

     

     

    可是如此寫資料庫內容並無新增資料...

     

    2008年8月7日 上午 03:47

解答

  • S_STIME : 日期(變數) /  S_ETIME:時間(變數) / S_COMM:文字

    S_COMM會紀錄訊息,而"OPEN"是我直接指定給他的文字訊息所以他不是變數...

     

    經過一直測試..錯字排除後..發現是我驅動硬體寫入資料庫有個DELAY TIME

    更改後就OK了...所以語法上是OK的...真的是百密一疏..

     

    造成大家的困擾了!!感激大大們的幫忙啦~~~

    2008年8月7日 上午 08:57

所有回覆

  • 沒看到執行 strsql 的程式碼,是否忘了貼上?類似下面這樣的語法

    C.Execute strsql

    2008年8月7日 上午 04:00
  • 恩恩..

    我是打  R.open strsql,1

    會出現 無值提供給1個或多個參數的訊息....

     

    2008年8月7日 上午 05:02
  • ::Tongue Tied_COMM欄位型態是什麼???假如是字串的話,那OPEN是否需要

    加單引號上去!!!

    2008年8月7日 上午 06:14
  •  

    S_COMM 的資料型態"文字"..OPEN加上單引號後..還是無法寫入資料庫

    目前我在TRY 主功能..也就是寫入的功能..

    應該是SQL 語法這邊該如何抽出寫入報表中..目前努力中~~

    多謝大大們的指導..

    2008年8月7日 上午 06:54
  • 請貼出 REPORT1 資料表的結構(Schema),因為由你提供的資訊看不出來要塞入資料表的 OPEN 是怎麼來的
    如果它是一個變數,那 strsql 程式碼應該是:

    Code Snippet
    strsql = " inster into REPORT1 (S_STIME,S_ETIME,S_COMM)values(#" & Format(Date, "yyyy/MM/d ") & "#,#" & Format(Time) & "#,'" & OPEN & "')"



    此外,請確認欄位名稱跟大小寫是否與資料表相同

    建議在 strsql 的程式碼之後,先把 strsql 的內容顯示在畫面上,以便確認其語法正確

    無法寫入資料,應該都會有錯誤訊息,可以的話,請順便提供錯誤訊息


    2008年8月7日 上午 08:24
  • S_STIME : 日期(變數) /  S_ETIME:時間(變數) / S_COMM:文字

    S_COMM會紀錄訊息,而"OPEN"是我直接指定給他的文字訊息所以他不是變數...

     

    經過一直測試..錯字排除後..發現是我驅動硬體寫入資料庫有個DELAY TIME

    更改後就OK了...所以語法上是OK的...真的是百密一疏..

     

    造成大家的困擾了!!感激大大們的幫忙啦~~~

    2008年8月7日 上午 08:57