VB.NET,带有MySQL的Winforms应用程序。在我的应用程序中,由于资金和连接可靠性的限制,我添加了通过使用邮件附件来更新它的功能。一切正常。那么在应用程序表单加载,即使我有它检查文件的存在。如果存在,则会对数据库进行更改。所以下面的Sub被调用,并且该文件的内容被读入到一个arrayList中...当应用程序从外部VS启动时,我得到“CommandText属性未正确初始化”错误。CommandText属性尚未正确初始化
Private Sub sqlUpdate(ByVal sqlScriptName As String)
Dim D As Boolean = BackupDatabase("C:\xxxxxxxx\temp.sql")
Dim objReader As New StreamReader(sqlScriptName)
Dim sLine As String = ""
Dim arrText As New ArrayList()
Do
sLine = objReader.ReadLine()
If Not sLine Is Nothing Then
arrText.Add(sLine)
End If
Loop Until sLine Is Nothing
objReader.Close()
For Each sLine In arrText
Dim conn As New MySqlConnection
Dim myCommand As New MySqlCommand
Dim connString As String = My.Settings.storageConnectionString
conn.ConnectionString = connString
myCommand.Connection = conn
myCommand.CommandText = String.Empty
Try
myCommand.CommandText = sLine
conn.Open()
myCommand.ExecuteNonQuery()
Catch myerror As MySqlException
'MsgBox("There was an error updating the database: " & myerror.Message + vbNewLine + "PLEASE CONTACT THE DEVELOPER IMMEDIATELY")
End Try
Next
Return
End Sub
不知道是哪里的问题正在添加从并遵循执行,一路下来...的SLIST包含像这样有效的MySQL命令:
ALTER TABLE `storage`.`property_info` ADD COLUMN `pfam_pName` CHAR(200) NULL AFTER `pfam_Phone` ;
任何想法,可以发我在这个正确的方向?
快速评论别人提起这件事之前..我才意识到我不应该将其发送到一个ArrayList,我可以在每行上执行NonQuery而不是将其发送到ArrayList。 – Skindeep2366