如何二进制文件保存到数据库
问题描述:
注册日期:12月10日 帖子:10 caba11在这一点上(< 10)如何二进制文件保存到数据库
如何保存二进制文件数据库 喜一个未知数。 我需要将文件保存到数据库中... 我找不到为什么它不工作...
这是我的代码:
Public Sub importfiles(ByVal sFileName As String)
Dim cnSQL As SqlConnection
Dim cmSQL As SqlCommand
Dim strSQL
'Validate form values
'Read file into a stream
Dim fs As New FileStream(sFileName, FileMode.Open, FileAccess.Read)
Dim myData(fs.Length) As Byte
fs.Read(myData, 0, fs.Length)
fs.Close()
Try
'Build SQL
strSQL = "insert into data_cesta(ID, cesta) values (@ID, @cesta)"
cnSQL = New SqlConnection("Data Source=.;AttachDbFilename=|DataDirectory|\Database1.mdf;Integrated Security=True;User Instance=True")
cmSQL = New SqlCommand(strSQL, cnSQL)
cmSQL.Parameters.Add(New SqlParameter("@ID", SqlDbType.Int)).Value = ID
cmSQL.Parameters.Add(New SqlParameter("@cesta", SqlDbType.NText)).Value = myData
' cmd2.Parameters.Add("@ID", SqlDbType.Int).Value = ID
' cmd2.Parameters.Add("@cesta", SqlDbType.NText).Value = myData
'Open connection and execute the command
cnSQL.Open()
cmSQL.ExecuteNonQuery()
'Close and clean up objects
cnSQL.Close()
cmSQL.Dispose()
cnSQL.Dispose()
Catch ex As SqlException
MsgBox(ex.Message, MsgBoxStyle.Critical, "SQL Error")
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Critical, "General Error")
End Try
End Sub
没有尝试它说:“cmSQL.ExecuteNonQuery()” - “无法将参数值从DataGridViewTextBoxColumn转换为Int32。”
答
看起来好像是在将数据处理到数据库之前将一些文件路径加载到DataGrid中。
默认情况下,您的ID字段作为DataGrid中的DataGridViewTextBoxColumn对象传递给过程。您需要检索该对象中的文本。
您可以通过访问正在处理的行上的关联DataGridViewTextBoxCell对象来完成此操作。在DataGridViewTextBoxCell对象内有一个名为“Value”的属性,它将具有您需要的ID值。
没有看到更多的代码,很难给你确切的代码,但检查DataGridViewCell object的一些有用的代码,因为TextBoxCell继承自这个类。
我正在尝试这个,但仍然是相同的错误.... http://www.aspsnippets.com/Articles/Save-and-Retrieve-Files-from-SQL-Server-Database-using-ASP.Net.aspx – caba11 2011-01-11 12:06:44