Sql server 如何获取文件(图像)路径位置并将其插入MSSQL的SQL语句中?

Sql server 如何获取文件(图像)路径位置并将其插入MSSQL的SQL语句中?,sql-server,vba,excel,Sql Server,Vba,Excel,我正在尝试在我的MSSQL数据库中插入一个图像,并根据用户使用变量“strpath”选择的路径渲染图像。我不知道这是否可能,但我仍然在这方面得到一个错误。有人能帮忙吗 Private Sub Cmdbutton_selectimage_Click() Dim strpath As String Dim cou As Integer Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False cou = Applicat

我正在尝试在我的MSSQL数据库中插入一个图像,并根据用户使用变量“strpath”选择的路径渲染图像。我不知道这是否可能,但我仍然在这方面得到一个错误。有人能帮忙吗

Private Sub Cmdbutton_selectimage_Click()

Dim strpath As String
Dim cou As Integer

Application.FileDialog(msoFileDialogOpen).AllowMultiSelect = False
cou = Application.FileDialog(msoFileDialogOpen).Show

If cou <> 0 Then
    strpath = Application.FileDialog(msoFileDialogOpen).SelectedItems(1)
    Image1.Picture = LoadPicture(strpath)
    Image1.PictureSizeMode = 1


End If
End Sub


Function GetInsertImage() As String

Dim SQLStrImage As String

SQLStrImage = _
    "INSERT INTO PeopleImage(Image)" & _
    " SELECT BulkColumn" & _
    " FROM Openrowset(Bulk '" & strpath & "', Single_Blob) as image"

GetInsertImage = SQLStrImage

End Function

不要在数据库中存储图像。只需将该位置的路径存储在WebServer上有什么缺点?你有什么建议?我是否只是手动将一个图像路径字符串作为SQL insert语句插入数据库?如何在VBA中连接SQL server?Adodb?无论采用哪种方式,您都可能希望查看vbcity.comyes New ADODB.connection保存文件位置,即在数据库中插入文件名或路径,与使用文件系统相比,从数据库检索图像会产生大量开销,因此这样做是不好的。
Function GetInsertImage() As String

Dim SQLStrImage As String

SQLStrImage = _
    "INSERT INTO PeopleImage(Image)" & _
    " SELECT BulkColumn" & _
    " FROM Openrowset(Bulk 'C:\Users\XYZ\Desktop\images.png', Single_Blob) as image"

GetInsertImage = SQLStrImage

End Function