0

私のインクルードフォルダーには、ファイル SqlOperations.asp があります

<% 
    Option Explicit

    Function CheckSqlConnection()
        Dim sqlConnection, connString 
        connString = "Provider=SQLOLEDB.1;Persist Security Info=False; uid=sa; pwd=123456789;Initial Catalog=UserDatabase;Data Source=lakpa-pc"
        Err.Clear
        On Error Resume Next
        SET sqlConnection = Server.CreateObject("ADODB.Connection")
        sqlConnection.Open connString

        If Err.Number <> 0 Then
            CheckSqlConnection = false
        End If

        CheckSqlConnection = sqlConnection
        On Error Goto 0
    End Function

    Function ExecuteNonQuery(sqlQuery)
        Dim checkSql, sqlCmd
        checkSql = CheckSqlConnection
        If checkSql == False Then
            Response.Write("Please check your connection string <br/>" & vbCrlf)
            Response.End
            ExecutenonQuery = False
            Exit Function
        End If
        checkSql.Execute(sqlQuery) 
        ExecuteNonQuery = True
    End Function

 %>

次に、ルートフォルダーにあるUserInformation.aspから呼び出すと

<!--#include file="include/SqlOperations.asp" -->
<%
    OPTION EXPLICIT

    dim fName, mName, lName,age,address,postCode,telephone, queryVal
    fName = Request.Form("fName")
    mName = Request.Form("mName")
    lName = Request.Form("lName")
    age = Request.Form("age")
    address= Request.Form("address")
    postCode = Request.Form("postCode")
    telephone = Request.Form("telephone")
    if fName <>"" then
        queryVal = "INSERT INTO UserInfo(FirstName, MiddleName, LastName, age, Address, PostCode, Telephone) VALUES('" + fName +"','" + mName+"','" + lName+"','" + age +"','" + address +"','" + postCode +"','" + telephone +"')"
        ExecuteNonQuery queryVal

    end if


 %>

デバッグが機能していません。しかし、インクルード行を削除すると、デバッグが機能し、エラーが発生します

Microsoft VBScript runtime error: Variable is undefined: 'ExecuteNonQuery

私はそれを理解していません。ASPクラシックは初めてです。誰かがそれが起こっている理由を教えてもらえますか.

4

2 に答える 2

0

問題は構文でした。私は混乱していました。「If checkSql == False Then」を使用しましたが、構文が間違っていたため、「=」記号は 1 つしかありません。さて、私はそれを少し修正しましたが、今では正常に動作しています。これは、ASP Classic と MSSQL を接続するためのものです。誰かの役に立つかもしれません。返信ありがとうケイン:)

  Function CheckSqlConnection()
    Dim sqlConnection, connString 
    connString = "Provider=SQLOLEDB.1;Persist Security Info=False; uid=sa; pwd=123456789;Initial Catalog=UserDatabase;Data Source=lakpa-pc"
    Err.Clear
    On Error Resume Next
    SET sqlConnection = Server.CreateObject("ADODB.Connection")
    sqlConnection.Open connString

    If Err.Number <> 0 Then
        CheckSqlConnection = false
    End If

    set CheckSqlConnection = sqlConnection
    On Error Goto 0
End Function

Function ExecuteNonQuery(sqlQuery)
    Dim checkSql
    set  checkSql = CheckSqlConnection
    If checkSql = False Then
        Response.Write("Please check your connection string <br/>" & vbCrlf)
        Response.End
        ExecutenonQuery = False
        Exit Function
    End If
    checkSql.Execute(sqlQuery) 
    ExecuteNonQuery = True
End Function

Sub SqlConnectionClose(SqlConn)
    SqlConn.Close()
End Sub
于 2012-09-02T05:01:42.400 に答える
0

関数が ASP のクラシックな場合は、ブラケット、EG、

ExecuteNonQuery(queryVal)

問題を解決する必要があります。

于 2012-09-01T04:58:15.093 に答える