これまでご協力いただきありがとうございました。$Email 変数を stdio ストリームに送信し、vb スクリプトで受信することができました。一部のコードで問題が発生しています
Option Strict On
Imports MySql.Data.MySqlClient
Imports System.Runtime.Serialization
Module jrConnect
Sub Main(ByVal cmdArgs() As String)
Dim returnValue As Integer = 0
' See if there are any arguments.
If cmdArgs.Length > 0 Then
For argNum As Integer = 0 To UBound(cmdArgs, 1)
Console.Write("your email address is " & cmdArgs(argNum))
If cmdArgs(argNum) <> "" Then
Dim email As String = cmdArgs(argNum)
Console.Write("Your email is " & email)
End If
Next argNum
End If
Dim cs As String = "*********"
Dim conn As New MySqlConnection(cs)
Dim entID As String
Try
conn.Open()
Dim stm As String = "SELECT ***** FROM **** WHERE email =" & "'" & email & "'"
Dim cmd As MySqlCommand = New MySqlCommand(stm, conn)
Dim reader As MySqlDataReader = cmd.ExecuteReader()
While reader.Read()
entID = reader.GetString(0)
End While
reader.Close()
Dim stm2 = "SELECT ***** FROM ****** WHERE ***** = " & entID
Dim cmd2 As MySqlCommand = New MySqlCommand(stm2, conn)
Dim reader2 As MySqlDataReader = cmd2.ExecuteReader()
Dim counter As Integer = 0
While reader2.Read() And counter < 3
Console.WriteLine(reader2.GetString(0) & "%")
counter = counter + 1
End While
reader.Close()
Catch ex As MySqlException
Finally
conn.Close()
End Try
End Sub
End Module
電子メール アドレスは正しく出力されますが、SQL ステートメントで電子メール アドレスを呼び出すと、「電子メールが宣言されていません」と表示されます。「次の argNum」コマンドでその値を変更していますか? 電子メールをコンソールに 1 回だけ書き込みます。必要に応じて、これも私の NSIS スクリプトです。
Outfile "test.exe"
Section
SetOutPath $DOCUMENTS/
Var /GLOBAL Email
StrCpy $Email "spkelly8@gmail.com"
nsExec::ExecToLog '"C:path/vbapp.exe" $Email'
Pop $1
Pop $2
DetailPrint $1
DetailPrint $2
SectionEnd