此代码在将数据与图像一起插入数据库时起作用。问题是当我没有在PictureBox
中放置图像时。它给了我错误:
第3行中的空路径名不合法
我想要的是即使用户没有选择图片。其他数据将被插入,不会出错。
cmd.Parameters.Add("@SurName", SqlDbType.VarChar, 100).Value = txtStudFN.Text
cmd.Parameters.Add("@FirstName", SqlDbType.VarChar, 100).Value = txtStudLN.Text
cmd.Parameters.Add(New SqlClient.SqlParameter("@StudPic", SqlDbType.Image)).Value = IO.File.ReadAllBytes(a.FileName)
答案 0 :(得分:1)
如果没有图片,您可以指定DBNull.Value
。
例如,如果a.FileName
是图像文件名,则可以使用:
cmd.Parameters.Add(New SqlParameter("@StudPic", SqlDbType.Image))
If (Not String.IsNullOrEmpty(Me.Name) AndAlso System.IO.File.Exists(a.FileName)) Then
cmd.Parameters("@StudPic").Value = System.IO.File.ReadAllBytes(a.FileName)
Else
cmd.Parameters("@StudPic").Value = DBNull.Value
End If