1

让我首先说我对此很陌生,如果很明显我几天来一直在寻找答案,我很抱歉!

我正在尝试将 byte[] 插入到我的数据库中的 varbinary 中,但遇到了一堵砖墙,所以我希望有人能提供帮助。到目前为止,我有:

Dim biData, matchId
Dim sConnString, connection, recordset, sql, count

biData = Request.BinaryRead(Request.TotalBytes)
matchId = Request.ServerVariables("QUERY_STRING")

sql = "SELECT * FROM MatchData WHERE matchId= '" & matchId & "'"

'define the connection string, specify database
'driver and the location of database
sConnString="Driver={SQL Server};<CONNECTIONSTRING>"

Set connection = Server.CreateObject("ADODB.Connection")
Set recordset = Server.CreateObject("ADODB.Recordset") 

'Open the connection to the database
connection.Open(sConnString)

'Open the recordset object executing the SQL 
recordset.Open sql, connection,3,3

count=recordset.recordcount

If count > 0 Then
    response.Write("Found  ")
    recordset.Update "MatchId", matchId

    'MY PROBLEM IS HERE
    'recordset.Update "MatchData", biData
    'recordset.Fields("MatchData").AppendChunk biData
Else
    response.Write("Not Found  ")
    recordset.AddNew "MatchId", matchId

    'MY PROBLEM IS ALSO HERE
    'recordset.Update "MatchData", biData       
    'recordset.Fields("MatchData").AppendChunk(biData)
End If

recordset.Close
Set recordset=Nothing

'Done. Close the connection object
connection.Close
Set connection = Nothing

如果我只返回biData,那么我会看到我上传的确切字节[],所以我猜它在那里,即response.BinaryWrite biData

提前感谢您的任何答案

4

1 回答 1

0

You need to append the binary (chunks) in a loop:

Check this page: http://msdn.microsoft.com/en-us/library/windows/desktop/ms678200(v=vs.85).aspx

Paricularly this part of the code for how to do it:

Cnxn.Execute "INSERT publishers(pub_id, pub_name) VALUES('" & _
               strPubID & "','Your Test Publisher')"

' Add a new record, copying the logo in chunks
rstPubInfo.AddNew
rstPubInfo!pub_id = strPubID
rstPubInfo!pr_info = strPRInfo

lngOffset = 0 ' Reset offset
Do While lngOffset < lngLogoSize
    varChunk = LeftB(RightB(varLogo, lngLogoSize - lngOffset), _
        conChunkSize)
    rstPubInfo!logo.AppendChunk varChunk
    lngOffset = lngOffset + conChunkSize
Loop
rstPubInfo.Update
于 2013-02-04T04:12:15.590 回答