MySQL和ADO - 绝望吗?

时间:2011-10-24 05:23:03

标签: mysql asp-classic ado

整个周末撕掉头发并用谷歌搜索。我疯狂地转换ASP站点以使用MySQL。我是否正确认为我会咆哮错误的树以尝试使用记录集命令通过ODBC将数据输入和输出MySQL,并且应该只使用MySQL程序?如果是这样,我将面临一场噩梦,我认为那时我们要弄清楚如何捕获返回的值。

对不起,如果这听起来有点无知,但不知道在哪里转。

详情:

Set SConn = createobject("ADODB.Connection")
conn.open = "DRIVER={MySQL ODBC 5.1 Driver};"_
& "SERVER=" & SQLServer & ";"_ 
& "DATABASE=" & SQLDbase & ";"_
& "UID=" & SQLUser & ";PWD=" & SQLPW  & "; OPTION=35;"

SQL = "SELECT tblNodes.SingleSiteChildID "
SQL = SQL & "FROM tblNodes "
SQL = SQL & "WHERE (((tblNodes.NodeID)=" & m_lngNodeID & "));"


set RS=server.CreateObject("adodb.Recordset")
RS.CursorType = 1
RS.LockType = 2
RS.Open SQL, conn


 With RS
If not .Fields("SingleSiteChildID")  >0 or isnull(.Fields("SingleSiteChildID")) then
    If m_lngChildCount>0 then
        .Fields("SingleSiteChildID")=0
            m_lngSingleSiteChildID=0
     Else
            .Fields("SingleSiteChildID")=null
            m_lngSingleSiteChildID=null
     End if
     .UPDATE
End if
END WITH
RS.Close
Set RS = Nothing
Set conn = Nothing

End Sub

1 个答案:

答案 0 :(得分:1)

您可以使用Recordset和Command对象,与您目前使用其他数据库的方式完全相同。

如果您使用DSN,您需要做的就是为MySQL DB创建系统DSN,尽管无DSN连接是更好的方法。

前往MySQL站点安装ODBC drivers,然后您的连接字符串将如下所示:

Driver={MySQL ODBC 5.1 Driver}; Server=localhost; uid=user_name; pwd=password; database=db_name; option=67108899; port=3306;

快速谷歌检查那里指定的选项是否正确,我已经从使用MySQL的工作经典ASP网站中删除了这个。

只需切换连接字符串即可让您非常简单地迁移到新的数据库类型。检查所有SQL命令是否符合MySQL标准,并且不要使用特定于MSSQL或Access的单词,例如TOP仅限MS,对MySQL使用LIMIT