Как загрузить изображения в VB6 и положить его в базу данных MySQL? - PullRequest
0 голосов
/ 12 мая 2011

Кто-нибудь знает, как загрузить изображения в VB6 и может положить его в базу данных MySQL ??

образцы кодов будут в порядке.

Ответы [ 3 ]

1 голос
/ 07 января 2012

Спасибо за этот код. Я нашел это очень полезным.

В вашей процедуре возврата данных, хотя она технически верна, есть упущение. Процедура не выполняется, если объект rs не открыт правильно (см. Ниже) Вот полный и правильный код:

Dim rs as ADODB.Recordset  
Dim myStream as ADODB.Stream  

Set rs = New ADODB.Recordset  
rs.Open "SELECT * FROM files WHERE files.file_id=1;", conn, adOpenDynamic, adLockReadOnly  
    Set myStream = New ADODB.Stream  
    myStream.Type = adTypeBinary  
    myStream.Open  
    myStream.Write rs!File  
    myStream.SaveToFile "c:\\newimage.gif", adSaveCreateOverWrite  
    myStream.Close  
    Set myStream = Nothing  
rs.Close  
Set rs = Nothing  
1 голос
/ 13 мая 2011

Я не знаю, как вы соединяете VB6 и MySQL, но решение таково: Шаг 1. Создайте таблицу с Mediumblob для хранения файла, как показано ниже

CREATE TABLE files(
    file_id SMALLINT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
    file_name VARCHAR(64) NOT NULL,
    file_size MEDIUMINT UNSIGNED NOT NULL,
    file MEDIUMBLOB NOT NULL
);

Шаг 2. Подключение к MySQL, как вы можете использовать свой метод для подключения

DRIVER={MySQL ODBC 3.51 Driver}; SERVER=123.456.789.100; DATABASE=mysqldatabase; UID=sampleuser; PWD=12345; OPTION=16427
Dim conn As ADODB.Connection
Set conn = New ADODB.Connection
conn.ConnectionString = GloConnectionString
conn.CursorLocation = adUseClient
conn.Open 

Шаг 3: Отправка данных в MySQL и закрытие соединения

Dim rs As  ADODB.Recordset
Set rs = New ADODB.Recordset
Dim mystream As ADODB.Stream
Set mystream = New ADODB.Stream
mystream.Type = adTypeBinary
rs.Open "SELECT * FROM files WHERE 1=0", conn, adOpenStatic, adLockOptimistic
rs.AddNew
mystream.Open
mystream.LoadFromFile "c:\\myimage.gif"
rs!file_name = "myimage.gif"
rs!file_size = mystream.size
rs!file = mystream.read
rs.Update
mystream.Close
rs.Close
conn.Close

Шаг 4. Возвращение данных из MySQL

Dim conn As New ADODB.Connection
conn.ConnectionString = GloConnectionString
conn.CursorLocation = adUseClient
conn.Open
Dim rs As New ADODB.Recordset
Dim mystream As New ADODB.Stream
mystream.Type = adTypeBinary
rs.Open "SELECT * FROM files WHERE files.file_id = 1", conn
mystream.Open
mystream.Write rs!File
mystream.SaveToFile "c:\\newimage.gif", adSaveCreateOverWrite
mystream.close
rs.Close
conn.Close
0 голосов
/ 08 февраля 2014

Для Oracle 11g я использовал следующую строку подключения в VB:

cn.Open "Provider=OraOLEDB.Oracle.1;Password=tiger;Persist Security Info=True;User ID=scott"

, и весь другой код мне подходит.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...