# Native Code > برنامه نویسی در 6 VB > مطالب مرتبط با بانکهای اطلاعاتی در VB6 >  نمایش عکس در کنترل های Vb به وسیله Sql Server

## m_zi

سلام
خسته نباشید
من می خوام عکسی را در یکی از کنترلهای VB نمایش دهم این عکس یکی از فیلدهای جدولم در بانک اطلاعاتی Sql Server  است مثلا شماره پرسنلی همراه با عکس پرسنل در جدول وجود دارد و می خواهم آنها را نمایش دهم اولا من در جدول مربوطه چگونه عکس را ذخیره کنم و ثانیا در وی بی چگونه آن را نمایش دهم 
ممنون می شم پاسخ این سوال را بدهید

با تشکر فراوان

----------


## perfeshnal

سلام

دوست من این یک برنامه است که همین کاری که شما می خوای در دیتابیس اکسس انجام شده و کامل هستش گفتم بزارم شاید بدردت بخوره

----------


## aidinwashere

من این کارو انجام دادم
اگه مشکل حل نشده بگو.

----------


## m_zi

حل نشد میشه برام بفرستید 

ممنون
خیلی لازمش دارم

----------


## aidinwashere

اولا باید توی بانک یه فیلد از نوع Image داشته باشین
برای ذخیره عکس در بانک:
Dim mystream As ADODB.Stream
Set mystream = New ADODB.Stream
mystream.Type = adTypeBinary
mystream.Open

Conn.Open

mystream.LoadFromFile CommonDialog1.FileName
recordSet("picture").Value = mystream.Read

mystream.Close
rs.Update
Conn.Close


فک میکنم مفهوم باشه.
CommonDialog1 یک Common Dialog Box هست که برای انتخاب فایل بکار میره.
RecordSet هم که مشخصه.
ضمنا قبل از اجرای این دستورات باید یک Connection باز داشته باشین, ادامه دستورات رو ننوشتم چون بستگی به پروژه شما داره.

برای خوندن از بانک:

Dim strStream As ADODB.Stream
Set strStream = New ADODB.Stream


strStream.Type = adTypeBinary
strStream.Open

strStream.Write rstRecordset.Fields("Picture").Value
strStream.SaveToFile "C:\Temp.bmp", adSaveCreateOverWrite
Image1.Picture = LoadPicture("C:\Temp.bmp")
Kill ("C:\Temp.bmp")

همونطور که میبینین از Stream ها استفاده شده و خروچی در یک کنترل Image نمایش داده میشه.
نکته, نام فیلد عکسی در بانک, Picture بوده.
سوالی بود در خدمتم.

----------


## m_zi

میشه برنامه vb  را که بشه ران کرد همراه با سورس رو بذارید .
ممنون و تشکر

----------


## m_zi

حل شد خیلی خیلی ممنون

----------


## m_zi

> اولا باید توی بانک یه فیلد از نوع Image داشته باشین
> برای ذخیره عکس در بانک:
> Dim mystream As ADODB.Stream
> Set mystream = New ADODB.Stream
> mystream.Type = adTypeBinary
> mystream.Open
> 
> Conn.Open
> 
> ...


با تشکر فراوان تا حدی مشکلم حل شد ولی می خواهم که خروجی را در Dbgrid  نمایش دهم مثلا لیست تمامی پرسنل به همراه عکس انها در Dbgrid  نمایش داده شود .

ممنونم اگر پاسخ بدهید خیلی لازمش دارم .

----------


## aidinwashere

فرقی نمیکنه!
شما وقتی بتونی به عکست دسترسی داشته باشی, حالا هرجا میخوای نمایشش بده!
یه کنترل بذار و آدرسش رو از RecordSet بگیر!
بیشتر تلاش کن.

----------


## ENG_Torshani

ممنون میشم اگه مشخص کنید چه جوری می شه با TSQl ذخیره کرد الان شما فایل باینری که خوانده میشه تو یک recorset  ریخته میشه ولی اگر بخواهیم به این صورت ذخیره کنیم نمیشه
("INSERT INTO TBLStu(Img) VALUES('" + mystream.Read + "')")

----------

