|   |   | 
| 
 | Запись картинок не в 1с базу данных | ☑ | ||
|---|---|---|---|---|
| 0
    
        kolts23381 29.08.15✎ 21:56 | 
        Хочу записать картинки в базу данных постре.
 Пытаюсь так "INSERT INTO images( | image) |VALUES(" + Данные.Хранилище.Получить() + ")"; В отладчике вместо двоичных данных просто слово "картинка". Тип данных колонки image bytea. Но ничего не записывается. Получать картинки с другой базы данных и записать их в 1с могу, используя ADODB.Stream, а как записать в стороннюю базу не знаю | |||
| 1
    
        Стальная Крыса 30.08.15✎ 05:31 | 
        А байтики в текст кто переводить будет?     | |||
| 2
    
        Стальная Крыса 30.08.15✎ 05:33 | 
        В одном месте значит ADODB.Stream, а тут почему не так?     | |||
| 3
    
        kolts23381 30.08.15✎ 12:39 | 
        image = Новый COMОбъект("ADODB.Stream");
 image.type = 1; image.Open(); image.LoadFromFile("C:\database\1.jpg"); RecordSet = Новый COMОбъект("ADODB.Recordset"); RecordSet.CursorLocation = 3; RecordSet.ActiveConnection = Connection; RecordSet.Open("Select * FROM images",Connection,2,3); RecordSet.AddNew(); RecordSet.Fields("image").Value = image.Read(); Recordset.Fields("product").Value = Данные.Объект.УникальныйИдентификатор(); RecordSet.Update(); RecordSet.Close(); Сейчас пробую так. Картинку пишет, правда пока не проверил правильно ли.Не хочет писать уникальный идентификатор, он имеет такой вид 'cbcf493f-55bc-11d9-848a-00112f43529a'. Через ADODB.Connection пишет без проблем. | |||
| 4
    
        kolts23381 30.08.15✎ 12:50 | 
        И картинка тоже не хочет. Тип данных может не нравится, bytea стоит.     | |||
| 5
    
        jsmith82 30.08.15✎ 12:56 | 
        Данные.Хранилище.Получить() это и есть картинго
 а если сначала в файл, а потом в двоичные данные | |||
| 6
    
        kolts23381 30.08.15✎ 14:45 | 
        Нашел на этот сайте такой способ
 image = Новый COMОбъект("ADODB.Stream"); image.Type = 1; image.Mode = 3; image.Open(); image.LoadFromFile("C:\database\1.jpg"); Команда = Новый COMОбъект("ADODB.Command"); Команда.ActiveConnection = Connection; Команда.NamedParameters = True; Команда.CommandType = 1; Команда.CommandText = "INSERT INTO images (image,product) VALUES(?,'"+ Данные.Объект.УникальныйИдентификатор() +"')"; ПараметрSQL=Команда.CreateParameter("@Pic", 205, 1,10000,image.Read()); image.Close(); Команда.Parameters.Append(ПараметрSQL); Команда.Execute(); Выбивает ошибку: Ошибка при записи изменений при обмене: Ошибка при вызове метода контекста (CreateParameter): Произошла исключительная ситуация (ADODB.Command): Приложение использует для текущей операции значение неверного типа. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |