我正在使用以下代码为我的项目加载
拉取命令行参数Public Sub CMD()
Dim sCommandLine() As String
sCommandLine = Split(Command$, ",")
If sCommandLine(0) = "" Then
Exit Sub
End If
RiskChoose = Microsoft.VisualBasic.Trim(sCommandLine(0))
RiskCode = Microsoft.VisualBasic.Trim(sCommandLine(1))
RiskDate = Microsoft.VisualBasic.Trim(sCommandLine(2))
txtUnitCode.Text = RiskCode.ToString
TextBox1.Text = RiskChoose
End Sub
然后应该使用RiskCode的值填充文本框,然后运行后续的OLEDB查询并填充其他一些文本框
这似乎工作正常,如果将命令行添加到VS2012的“Debug”部分,它会选择正确的值并打开项目。
当我构建项目并通过提供命令行参数的二次项目运行时出现问题。当我点击从第二个项目中加载第一个项目时,我得到以下错误DB_SEC_E_AUTH_FAILED(0x80040E4D)
,它指向以下查询代码中的以下行(son.open())。
Public Sub NameQuery()
Try
Dim search As String = txtUnitCode.Text
Dim aClients As String = My.Settings.ClientDBLoc
Dim lnText As String = String.Empty
Dim sConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data source=" & aClients & ""
Using son As New OleDb.OleDbConnection(sConnString)
son.Open() '''''''''''''This is the error line
If txtUnitCode.Text = "" Then Exit Sub
Dim cmd As New OleDb.OleDbCommand("SELECT LongName FROM Units " & "WHERE (Code = ?) AND (UnitIsDead = False)", son)
cmd.Parameters.AddWithValue("@a1?", search)
Dim r As OleDb.OleDbDataReader = cmd.ExecuteReader()
If Not r.HasRows Then Exit Sub
Do While r.Read()
lnText = lnText & r.GetValue(0)
Loop
End Using
txtUnitName.Text = lnText
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub
知道为什么这可能是??
由于