我目前在我正在做的程序中有最惱人的錯誤,我會認真感謝任何幫助或建議,可以幫助我解決它。我遇到問題的那部分程序是一個表單,它將選定的圖像加載到一個圖片框中,然後在點擊「保存」按鈕後將其保存到MS Access數據庫中。當執行「Browse_Click」事件時,它會提示您搜索圖像位置並將其加載到圖片框(pbImage)中。這個位工作正常,併成功地將它加載到它的picturebox。我遇到的問題是當我嘗試將圖像保存到我的訪問數據庫時,出現以下參數異常錯誤「路徑不是合法窗體」。 據我所知我所有的代碼是完全有效的,因爲它以前工作,但一兩個小時前,這個錯誤突然開始出現。參數異常 - 路徑不是合法形式(vb.net)
以下代碼的第一部分是當我想將圖片加載到圖片框時執行的內容。下面的部分是'保存'代碼。
Public Class Manage_Cottages
Dim imgName As String
Dim daImage As OleDbDataAdapter
Dim dsImage As DataSet
Private Sub btnBrowse_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnBrowse.Click
Dim dlgImage As FileDialog = New OpenFileDialog()
dlgImage.Filter = "Image File (*.jpg;*.bmp;*.gif)|*.jpg;*.bmp;*.gif"
If dlgImage.ShowDialog() = DialogResult.OK Then
imgName = dlgImage.FileName
Dim selectedFileName As String = dlgImage.FileName
txtPath.Text = selectedFileName
Dim newimg As New Bitmap(imgName)
pbImage.SizeMode = PictureBoxSizeMode.StretchImage
pbImage.Image = DirectCast(newimg, Image)
End If
dlgImage = Nothing
imgName = " "
End Sub'
保存代碼
Private Sub btnSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSave.Click
Dim cnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=..\Debug\CourseworkDatabase.mdb"
Dim CN As New OleDbConnection(cnString)
CN.Open()
If imgName <> "" Then
Dim fs As FileStream
fs = New FileStream(imgName, FileMode.Open, FileAccess.Read) <----- where the error occurs.
Dim picByte As Byte() = New Byte(fs.Length - 1) {}
fs.Read(picByte, 0, System.Convert.ToInt32(fs.Length))
fs.Close()
Dim strSQL As String
strSQL = "INSERT INTO Cottage_Details([Image]) values (" & " @Img)"
Dim imgParam As New OleDbParameter()
imgParam.OleDbType = OleDbType.Binary
imgParam.ParameterName = "Img"
imgParam.Value = picByte
Dim cmd As New OleDbCommand(strSQL, CN)
cmd.Parameters.Add(imgParam)
cmd.ExecuteNonQuery()
MessageBox.Show("Image successfully saved.")
cmd.Dispose()
CN.Close()
End If
End Sub
而且下面是第一對夫婦的什麼顯示在即時窗口(不知道它是否將是任何幫助診斷問題)
線mscorlib.dll System.Transactions嚴重:0:http://msdn.microsoft.com/TraceCodes/System/ActivityTracing/2004/07/Reliability/Exception/Unhandled未處理的exceptionAlphaHolidayCottages.vshost.exeSystem.ArgumentException,mscorlib,Version = 4.0.0中發生類型'System.ArgumentException'的第一次機會異常。 0,Culture = neutral,PublicKeyToken = b77a5c561934e089該路徑不是合法的形式。在System.IO.Path.NormalizePath(字符串路徑,布爾fullCheck,Int32 maxPathLength)
感謝您的時間和幫助,如果有人可以幫助我解決問題,將是在月球。
克里斯
在該行上放置一個斷點並檢查您的'imgName'變量的值並將其發回。 – tcarvin
在我看來,你正試圖用名稱「」保存文件,單個空間。這不是有效的文件名稱。 –