powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / RS2005 - вставить рисунок
3 сообщений из 3, страница 1 из 1
RS2005 - вставить рисунок
    #34809404
ВладимирЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Создаю на SQL сервере простенькую таблицу с полями id - числовое ключ и picture - image.
В picture запихиваю с использованием Accessa простенький рисунок bmp
В Accesse присоединяюсь к этой таблице через ODBC - рисунок смотрится и показывается...

В RS2005 cоздаю простенький отчет и пытаюсь разместить на нем рисунок, то есть вставляю
элемент image, указываю в мастере источник данных, имя поля и т.д...
Но в режиме Preview оно показывает красный крестик вместо рисунка - может кто подскажет что не так???
C Уважением Л.Владимир
...
Рейтинг: 0 / 0
RS2005 - вставить рисунок
    #34813567
ВладимирЛ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В ситуации вроде как разобрался - оказывается поле типа OLEобъект в Access это не рисунок Image в БД SQK-server, то есть Access че то дописывает к строке битов, составляющих рисунок, а SQK-server понимает только битики рисунка... Но тогда встает проблема закачки рисунка в базу данных - на соседней ветке (MS SQL-server) я задал поиск вставка рисунка, там много чего сказано - но суть сводится к использованию дополнительных утилит - я в VB.net запустил следующую:
(предварительно создал проект VB, в нем форму, подключил библиотеку MS ADO 2.5)
Public Class Form1
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim mstream As ADODB.Stream

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
cn = New ADODB.Connection
cn.Open("Data Source=SQLserver;Initial Catalog=Test;Integrated Security=True") '---User Id=<Your Userid>;Password=<Your Password>")
'
rs = New ADODB.Recordset
rs.Open("Select * from test", cn, adOpenKeyset, adLockOptimistic)
mstream = New ADODB.Stream
mstream.Type = adTypeBinary
mstream.Open()
mstream.LoadFromFile("c:\pic.jpg")
rs.Fields("pic1").Value = mstream.Read
rs.Update()
rs.Close()
cn.Close()
End Sub
End Class
Но оно ругается - говорит не описаны переменные adOpenKeyset, adLockOptimistic adTypeBinary, но они же должны определяться через библотеку MS ADO 2.5... (правда это уже вопрос по NET-программированию) Тем не менее - может кто подскажет - что не так в этой программке.
С Уважением = Л.Владимир
...
Рейтинг: 0 / 0
RS2005 - вставить рисунок
    #34816109
LevS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
см. http://msdn2.microsoft.com/en-us/library/ms156342.aspx

If you created or stored the image in Microsoft Access, the image includes OLE header information that prevents the image from displaying on the report page at run time. To remove the OLE header from the image, you can set the value of the Image to this expression:

=System.Convert.FromBase64String(Mid(System.Convert.ToBase64String(Fields.ImageFieldName.Value),105))

---
This posting is provided "AS IS" with no warranties, and confers no rights.
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / RS2005 - вставить рисунок
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]