如何将二进制数据存到数据库中?SQL语句怎么写?击急急

假设我已将文件转成了二进制数据,并存在变量BinData中,我想将其存入SQL Server 2000,怎么存入〉?我的写法是:
sSQL = "INSERT INTO testUp(BinData) VALUES('" & BinData & "')"
但一直报错,死在这里,无法网下执行,也就是说语句问题,请教各位:如何〉???

---------------------------------------------------------------

将 ntext、text 或 image 数据添加到插入的行中
在行中添加 ntext、text 或 image 值的方法如下:

与 char、nchar 或者 binary 数据类似,在 INSERT 语句中指定相对较短的数据。

使用 WRITETEXT 语句。有关更多信息,请参见 WRITETEXT。

ADO 应用程序可以使用 AppendChunk 方法指定较长的 ntext、text 或 image 数据。有关更多信息,请参见管理长数据类型。

OLE DB 应用程序可以使用 ISequentialStream 接口写入新的 ntext、text 或 image 值。有关更多信息,请参见 BLOB 和 OLE 对象。

ODBC 应用程序可以使用 SQLPutData 的执行中的数据形式写入新的 ntext、text 或 image 值。有关更多信息,请参见管理 text 和 image 列。

DB-Library 应用程序可以使用 dbwritetext 函数。有关更多信息,请参见 Text 和 Image 函数。

Public Sub AppendChunkX()

Dim cn As ADODB.Connection
Dim rstPubInfo As ADODB.Recordset
Dim strCn As String
Dim strPubID As String
Dim strPRInfo As String
Dim lngOffset As Long
Dim lngLogoSize As Long
Dim varLogo As Variant
Dim varChunk As Variant

Const conChunkSize = 100

' Open a connection.
Set cn = New ADODB.Connection
strCn = "Server=srv;Database=pubs;UID=sa;Pwd=;"

cn.Provider = "sqloledb"
cn.Open strCn

'Open the pub_info_x table.
Set rstPubInfo = New ADODB.Recordset
rstPubInfo.CursorType = adOpenDynamic
rstPubInfo.LockType = adLockOptimistic
rstPubInfo.Open "pub_info_x", cn, , , adCmdTable

'Prompt for a logo to copy.
strMsg = "Available logos are : " & vbCr & vbCr

Do While Not rstPubInfo.EOF
strMsg = strMsg & rstPubInfo!pub_id & vbCr & _
Left(rstPubInfo!pr_info,
InStr(rstPubInfo!pr_info, ",") - 1) & vbCr & vbCr
rstPubInfo.MoveNext
Loop

strMsg = strMsg & "Enter the ID of a logo to copy:"
strPubID = InputBox(strMsg)

' Copy the logo to a variable in chunks.
rstPubInfo.Filter = "pub_id = '" & strPubID & "'"
lngLogoSize = rstPubInfo!logo.ActualSize
Do While lngOffset < lngLogoSize
varChunk = rstPubInfo!logo.GetChunk(conChunkSize)
varLogo = varLogo & varChunk
lngOffset = lngOffset + conChunkSize
Loop

' Get data from the user.
strPubID = Trim(InputBox("Enter a new pub ID:"))
strPRInfo = Trim(InputBox("Enter descriptive text:"))

' 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

' Show the newly added data.
MsgBox "New record: " & rstPubInfo!pub_id & vbCr & _
"Description: " & rstPubInfo!pr_info & vbCr & _
"Logo size: " & rstPubInfo!logo.ActualSize

rstPubInfo.Close
cn.Close

End Sub

Published At
Categories with Web编程
Tagged with
comments powered by Disqus