gpt4 book ai didi

mysql - 错误 3001 vba Excel 宏 MySQL 插入

转载 作者:行者123 更新时间:2023-11-30 22:41:24 25 4
gpt4 key购买 nike

我正在尝试使用 Excel 宏在 mysql 数据库中插入一行。连接似乎工作正常,但我收到 vba 3001 错误

(Microsoft visual basic 3001 参数类型错误,或超出可接受范围,或相互冲突)

当你执行这段代码时:

        Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
ConnectDB
'strSQL = "INSERT INTO talar.ots (UbicacionTecnica, Equipo, Posmant) VALUES ('sdasd', 'sdasd','sdasd')"

rs.Open strSQL, oConn, adOpenDynamic, adLockOptimistic

我已经阅读并尝试了 50 篇教程和此页面中的其他帖子,结果都很糟糕......

这是连接的代码:

    Private Sub ConnectDB()
Dim oConn As ADODB.Connection
Set oConn = New ADODB.Connection
oConn.Open "DRIVER={MySQL ODBC 5.2 Unicode Driver};" & _
"SERVER=localhost;" & _
"DATABASE=talar;" & _
"USER=root;" & _
"PASSWORD=root;" & _
"Option=3"
End Sub

MySQL ODBC 5.2 Unicode 驱动程序已安装,mysql 服务运行良好,我使用的是 Excel 2010,windows 7。我不知道这些信息是否足够。有人知道吗?谢谢!

最佳答案

oConnlocal ConnectDB sub,因此您不会向记录集Open 传递任何内容。

Option Explicit 添加到代码文件的顶部,以便在您执行此类操作时收到警告。

创建一个返回连接的函数:

Private Function ConnectDB() As ADODB.Connection
Set ConnectDB = New ADODB.Connection
ConnectDB.Open "DRIVER={MySQL ODBC 5.2 Unicode Driver};SERVER=localhost;DATABASE=talar;USER=root;PASSWORD=root;Option=3"
End Function

然后

dim cn as ADODB.Connection
set cn = ConnectDB()

cn.Execute "INSERT INTO talar.ots (UbicacionTecnica, Equipo, Posmant) VALUES ('sdasd', 'sdasd','sdasd')"

cn.Close

插入不需要Recordset,因为不会返回任何行。

当您确实需要RecordsetadOpenForwardOnly、adLockReadOnly 优于adOpenDynamic、adLockOptimistic 除非您特别需要后者提供的功能。

关于mysql - 错误 3001 vba Excel 宏 MySQL 插入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31054336/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com