繁体   English   中英

如何将二进制文件保存到数据库

[英]how to save binary file to database

加入日期: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对象以获取一些有用的代码,因为TextBoxCell继承自此类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM