hi i am trying to put a file into a database
managed to do this by encoding the file to base64 but since that makes the file bigger i wanted to try something else and found (and changed) the code below.. but it gives me an error at the execute..
please helpVB Code:
Dim objStream As System.IO.Stream = System.IO.File.Open(filename, System.IO.FileMode.Open) : Dim buffer(objStream.Length) As Byte : Dim x As String Dim uploadname As String Dim sSQL As String = "INSERT INTO layers ('filename', 'source', 'eid') VALUES ('filename', source, eid)" Dim command As New ADODB.Command Dim param As New ADODB.Parameter Dim param2 As New ADODB.Parameter Dim param3 As New ADODB.Parameter uploadname = Mid(filename, InStrRev(filename, "\") + 1) Dim enc As New System.Text.ASCIIEncoding objStream.Read(buffer, 0, objStream.Length) : objStream.Close() x = System.Convert.ToString(buffer) command.ActiveConnection = Con command.CommandText = sSQL command.CommandType = ADODB.CommandTypeEnum.adCmdStoredProc param = command.CreateParameter("filename", ADODB.DataTypeEnum.adVarChar, ADODB.ParameterDirectionEnum.adParamInput, 100, uploadname) command.Parameters.Append(param) param2 = command.CreateParameter("source", ADODB.DataTypeEnum.adBSTR, ADODB.ParameterDirectionEnum.adParamInput, x.Length, x) command.Parameters.Append(param2) param3 = command.CreateParameter("eid", ADODB.DataTypeEnum.adTinyInt, ADODB.ParameterDirectionEnum.adParamInput, 4, eventid) command.Parameters.Append(param3) command.Execute()


Reply With Quote