none
vs2008 向ACCESS插入数据 RRS feed

  • 问题

  •  

    Code Snippet

    Private Sub UpdateRec(ByVal strQuery As String)
            Dim strConnect As New OleDb.OleDbConnection("provider = microsoft.jet.oledb.4.0;data source = xccm.mdb")
            Dim myCommand As New OleDb.OleDbCommand(strQuery, strConnect)
            strConnect.Open()
            Dim i As Integer
            i = myCommand.ExecuteNonQuery()
            MsgBox("添加成功!已添加" & i & "项记录")
            strConnect.Close()
    End Sub

     

    strSQL = "INSERT INTO Agent(Agent_ID,Agent_Name) VALUES(12,'aaa')"

    UpdateRec(strSQL)

     

    插入不了数据,问题出在哪?
    2008年12月6日 14:50

答案

  •  

    相对路径一般是这样的

     

    Application.ExecutablePath  + "\xx.mdb"

     

    文件与执行程序的exe放在同一文件夹下。

     

    你可以先打印出 Application.ExecutablePath 是什么文件夹再进行组合

    2008年12月7日 10:57
    版主

全部回复

  •  

    Agent_ID字段如果是自动增加的类型,不能赋值的,

     

    strSQL = "INSERT INTO Agent(Agent_Name) VALUES('aaa')"

    即可

     

    看报告什么错误,看看mdb文件是不是只读了,安全性有没有当前账户可修改权限,确保连接路径正确,或者写成绝对路径,如

     

    Dim strConnect As New OleDb.OleDbConnection("provider = microsoft.jet.oledb.4.0;data source = x:\xxx\xccm.mdb")
    2008年12月7日 2:00
    版主
  • 谢谢!

    路径改成绝对路径就可以插入记录了,为什么呢?怎么使用相对路径呢,烦请再指教
    2008年12月7日 10:32
  •  

    相对路径一般是这样的

     

    Application.ExecutablePath  + "\xx.mdb"

     

    文件与执行程序的exe放在同一文件夹下。

     

    你可以先打印出 Application.ExecutablePath 是什么文件夹再进行组合

    2008年12月7日 10:57
    版主