0

次の vbscript コードがあります。

hemisphereConnectionString = "Driver={MySQL ODBC 5.1 Driver};" & _
                             "Server=" & hemisphereServer & ";" & _
                             "Database=" & hemisphereDatabase & ";" & _
                             "User=" & hemisphereUsername & ";" & _
                             "Password=" & hemispherePassword & ";"

Set hemisphereConnection = CreateObject("adodb.connection")
hemisphereConnection.Open(hemisphereConnectionString)

hem_sql = "SELECT * FROM hei_vision_update WHERE id IN (SELECT MAX(id) FROM hei_vision_update WHERE done = 'N' GROUP BY name)"

Set hemisphereResult = hemisphereConnection.Execute(hem_sql)

if hemisphereResult.EOF = false then
    hemisphereResult.MoveFirst()
end if
msgbox isnull(hemisphereResult("home_publish").value)
msgbox hemisphereResult("home_publish").value

これは非常に大きなスクリプトの一部です (ここに投稿するには大きすぎますが、これらは重要な行です) メッセージ ボックスに false が表示され (つまり、フィールドの値が null ではない)、次のメッセージ ボックスが「無効な Null の使用です」と表示されてクラッシュします。 "

誰にもアイデアはありますか??

コードを上記のように変更しました。これですべてです (サーバーとパスワードの詳細を除く)。現在、OERN/OEG0 行はありません。データベースから取得している行の home_publish フィールドに「Y」が含まれているため、false を表示する最初のメッセージ ボックスは正しいです。「Nullの無効な使用」を表示する2番目のものだけが謎です。MySQL ドライバーに問題があるのでしょうか?

今、これはばかげています:

最後の 2 行を次の 3 行に変更しました。

msgbox hemisphereResult("home_publish").value
msgbox isnull(hemisphereResult("home_publish").value)
msgbox hemisphereResult("home_publish").value

最初のメッセージ ボックスには、私の値「Y」が表示されます。
2 番目のメッセージ ボックスに true が表示されます (明らかにそうではありません)。
最後に、3 番目のメッセージ ボックスで「無効な null の使用」エラーが表示されます。

変数を使用しただけで値が失われる経験をしたことがある人はいますか?

4

1 に答える 1