امتیاز موضوع:
  • 2 رأی - میانگین امتیازات: 4
  • 1
  • 2
  • 3
  • 4
  • 5
دخیره عکس در Sql و بازخوانی آن
نویسنده پیام
antionline آفلاین
تازه وارد

ارسال‌ها: 5
موضوع‌ها: 1
تاریخ عضویت: تير ۱۳۹۲

تشکرها : 4
( 7 تشکر در 3 ارسال )
ارسال: #1
Question  دخیره عکس در Sql و بازخوانی آن
سلام به اساتید محترم
من یک پروژه را دارم انجام میدم که در یکی از قسمتهای برنامه تعداد حدود 40 تا مقادیر ورودی بصورت text دارم و یک عکس . خوب ذخیره تکس راحته ولی تاحالا تصویر ذخیره نکردم.
از اینترنت کدهایی را گرفته ام برای نبدیل عکس ب باینری و کم کردن حجم عکس. اما هر روشی را امتحان می کنم ایراد می گیره. لطفا کمکم کنید.
اینم کدی که استفاده می کنم:

کد php:
'''''''''tabdile ax az jpeg be byte''''''''''''
        Dim strmemory As New MemoryStream
        picbox_oa.Image.Save(strmemory, Imaging.ImageFormat.Jpeg)
        Dim buffer(CInt(strmemory.Length - 1)) As Byte
        strmemory.Position = 0
        strmemory.Read(buffer, 0, CInt(strmemory.Length))
        
        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
        
Dim objcon_oa As New SqlClient.SqlConnection("data source=.;initial catalog=Anjoman;Integrated Security = true;")
        
Dim objcom_oa As New SqlClient.SqlCommand("insert into ozv(id,pics) values ('" txtid_oa.Text "',@v1)"objcon_oa)
        
objcom_oa.Parameters.Add(New SqlClient.SqlParameter("v1"buffer.ToArray()))
        
objcon_oa.Open()
        
objcom_oa.ExecuteNonQuery()
        
objcon_oa.Close()
        
MsgBox("اطلاعات جدید ثبت شد"MsgBoxStyle.Information"ثبت اطلاعات")
       
        
txtid_oa.Focus() 
(آخرین ویرایش در این ارسال: ۲۱-آبان-۱۳۹۲, ۲۰:۰۴:۴۸، توسط antionline.)
۲۱-آبان-۱۳۹۲, ۱۹:۲۹:۲۹
ارسال‌ها
پاسخ
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #2
RE: دخیره عکس در Sql و بازخوانی آن
سلام
بهترین روش اینه که ادرس عکس را ذخیره کنید!
اینکه کل عکس ذخیر بشه حجم بانک زیاد میشه و موقع واکشی افت سرعت خواهید داشت


موفق باشید

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
۲۲-آبان-۱۳۹۲, ۱۷:۱۷:۰۹
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : Ambassador, antionline, babyy
antionline آفلاین
تازه وارد

ارسال‌ها: 5
موضوع‌ها: 1
تاریخ عضویت: تير ۱۳۹۲

تشکرها : 4
( 7 تشکر در 3 ارسال )
ارسال: #3
RE: دخیره عکس در Sql و بازخوانی آن
ممنونم که کمکم کردین. اما راستش برای جایی که این برنامه را می نویسم بهتره که تمام اطلاعات درون دیتابیس باشه تا متمرکز باشه و احتمال حذف و تغییر نام اتفاقی هم پیش نیاد.
راستش موفق شدم که عکس رو به همراه 42 تا اطلاعات دیگه ذخیره کنم. حالا موقع جستجو می خوام اطلاعات از دیتا گرید به تکس باکس ها انتقال داده بشن (این کار رو انجام دادم) که کاری نداره اما عکس رو نمی تونم به پیکچرباکس بفرستم !
البته وقتی اطلاعات رو توی دیتا گرید برای تست نشون دادم عکس هم نمایش داده شد اما تا عکس رو درون پیکچر باکس نشون ندم این کار بی فایده میشه
گیر افتادم لطفا کمکم کن
عجرت با قمربنی هاشم آقام ابوالفضل
(آخرین ویرایش در این ارسال: ۲۲-آبان-۱۳۹۲, ۱۹:۰۱:۴۲، توسط antionline.)
۲۲-آبان-۱۳۹۲, ۱۸:۵۸:۴۷
ارسال‌ها
پاسخ
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #4
RE: دخیره عکس در Sql و بازخوانی آن
(۲۲-آبان-۱۳۹۲, ۱۸:۵۸:۴۷)antionline نوشته است: ممنونم که کمکم کردین. اما راستش برای جایی که این برنامه را می نویسم بهتره که تمام اطلاعات درون دیتابیس باشه تا متمرکز باشه و احتمال حذف و تغییر نام اتفاقی هم پیش نیاد.
راستش موفق شدم که عکس رو به همراه 42 تا اطلاعات دیگه ذخیره کنم. حالا موقع جستجو می خوام اطلاعات از دیتا گرید به تکس باکس ها انتقال داده بشن (این کار رو انجام دادم) که کاری نداره اما عکس رو نمی تونم به پیکچرباکس بفرستم !
البته وقتی اطلاعات رو توی دیتا گرید برای تست نشون دادم عکس هم نمایش داده شد اما تا عکس رو درون پیکچر باکس نشون ندم این کار بی فایده میشه
گیر افتادم لطفا کمکم کن
عجرت با قمربنی هاشم آقام ابوالفضل

بازم پیشنهاد میکنم توی دیتابیس ذخیره نکن بعد که حجم داده ها بالا رفت به مشکل میخوری ولی اگه اصرار داری
یه راه ساده اینه که به صورت عکس توی تمپ ذخیرش کنی بعد به پیکچر باکست بگی عکست را از اونجا بخون :)

اینجارا ببین فکر کنم بتونه کمکت کنه

http://www.persiadevelopers.com/articles...abase.aspx

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
(آخرین ویرایش در این ارسال: ۲۲-آبان-۱۳۹۲, ۲۲:۱۳:۱۹، توسط Ghoghnus.)
۲۲-آبان-۱۳۹۲, ۲۲:۰۸:۲۲
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, Ambassador, antionline
antionline آفلاین
تازه وارد

ارسال‌ها: 5
موضوع‌ها: 1
تاریخ عضویت: تير ۱۳۹۲

تشکرها : 4
( 7 تشکر در 3 ارسال )
ارسال: #5
RE: دخیره عکس در Sql و بازخوانی آن
واقعا از لطفت ممنونم، همونطور که گفتم برای جایی برنامه می نویسم که بهتره امکان دستکاری نداشته باشن چون کار منو زیاد می کنن. بهشون اخطار دادم که حجمش میره بالا اما قبول کردن.
از دیشب مشغولم الان کلیه کارهایی که خواستم رو انجام دادم البته یه ذره سخت بود. بدون لطف شما که اصلا هیچ کاری نمی تونستم بکنم.
ازت ممنونم
۲۴-آبان-۱۳۹۲, ۲۳:۱۳:۲۸
ارسال‌ها
پاسخ
تشکر شده توسط : Ghoghnus
Ghoghnus آفلاین
مدیر بخش
*****

ارسال‌ها: 1,497
موضوع‌ها: 270
تاریخ عضویت: آذر ۱۳۸۸

تشکرها : 1652
( 3938 تشکر در 1453 ارسال )
ارسال: #6
RE: دخیره عکس در Sql و بازخوانی آن
(۲۴-آبان-۱۳۹۲, ۲۳:۱۳:۲۸)antionline نوشته است: واقعا از لطفت ممنونم، همونطور که گفتم برای جایی برنامه می نویسم که بهتره امکان دستکاری نداشته باشن چون کار منو زیاد می کنن. بهشون اخطار دادم که حجمش میره بالا اما قبول کردن.
از دیشب مشغولم الان کلیه کارهایی که خواستم رو انجام دادم البته یه ذره سخت بود. بدون لطف شما که اصلا هیچ کاری نمی تونستم بکنم.
ازت ممنونم

خواهش
وظیفه بود
حجم بره بالا برنامه شما افت سرعت پیدا میکنه!بازم پیشنهاد میکنم از این روش استفاده نکنید

موفق باشید

[تصویر:  a.jpg]

باور کنیم
همانگونه که در غیبت مقصریم در ظهور موثریم!
نیستیم؟

زیر شمشیر غمش رقص کنان باید رفت #  کان که شد کُشته ی او نیک سرانجام افتاد



 چشمک - بهینه شده برای ورژن جدید دانلود پروژه برنامه نويسي
۲۵-آبان-۱۳۹۲, ۰۰:۰۰:۱۰
وب سایت ارسال‌ها
پاسخ
تشکر شده توسط : babyy, Ambassador, antionline
antionline آفلاین
تازه وارد

ارسال‌ها: 5
موضوع‌ها: 1
تاریخ عضویت: تير ۱۳۹۲

تشکرها : 4
( 7 تشکر در 3 ارسال )
ارسال: #7
RE: دخیره عکس در Sql و بازخوانی آن
با اجازه می خوام کارهایی که کردم رو در اختیار دوستان قرار بدم.

این کد برای نمایش یک عکس در picture box
کد php:
Private Sub picbox_oa_Click(ByVal sender As ObjectByVal e As System.EventArgsHandles picbox_oa.Click
Try

            
Dim dlgOpen As New OpenFileDialog

            With dlgOpen

                
.fliter "Image Files(*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF"

                
.Title "انتخاب تصوير"

                
If .ShowDialog Windows.Forms.DialogResult.OK Then

                    Me
.picbox_oa.Image Image.FromFile(.FileName)

                
End If

            
End With

        
Catch ex As Exception

            MessageBox
.Show(ex.Message)

        
End Try 

حالا نوبت ارسال اطلاعات به همراه عکس به دیتا بیس است
کد php:
Private Sub btn_addoa_Click(ByVal sender As ObjectByVal e As System.EventArgs)
        
'''''''''tabdile ax az jpeg be byte''''''''''''
        Dim strmemory As New MemoryStream
        picbox_oa.Image.Save(strmemory, Imaging.ImageFormat.Jpeg)
        Dim buffer(CInt(strmemory.Length - 1)) As Byte
        strmemory.Position = 0
        strmemory.Read(buffer, 0, CInt(strmemory.Length))

        '''''''''''''''''''''''''''''''''''''''''''''''''''''''''
      
Dim objcon_oa As New SqlClient.SqlConnection("data source=.;initial catalog=Anjoman;Integrated Security = true;")
        
Dim objcom_oa As New SqlClient.SqlCommand("insert into ozv(id,tarikh_ozviat,fname,lname,name_pedar,pics) values ('" txtid_oa.Text _
 
"','" txtdateozviat_oa.Text "',N'" txtname_oa.Text "',N'" txtfamily_oa.Text "',N'"  _
txtfather_oa.Text "',@ax)"objcon_oa)
        
objcom_oa.Parameters.Add("ax"SqlDbType.Binary).Value strmemory.GetBuffer
        
'objcom_oa.Parameters.Add(New SqlClient.SqlParameter("ax", buffer))
        objcon_oa.Open()
        objcom_oa.ExecuteNonQuery()
        objcon_oa.Close()
        MsgBox("اطلاعات جدید ثبت شد", MsgBoxStyle.Information, "ثبت اطلاعات")

        txtid_oa.Focus()
    End Sub 
حالا اطلاعات ما به درون دیتا بیس انتقال پیدا کرده. نوبت جستجو و ویرایش اطلاعات ثبت شده است، برای این کار باید اطلاعات بازخوانی بشود و مقادیر ثبت شده مجددا به تکس باکس ها برگردونده بشن به همراه عکس البته !
کد php:
Dim con As String "data source=.;initial catalog=Anjoman;Integrated Security = true;"
            
Dim objcon As New SqlConnection(con)
            
objcon.Open()
            
Dim c As String "select * from ozv where id='" txtid_oa.Text "'"
            
Dim d As New SqlCommand(cobjcon)

            
Dim da As New SqlDataAdapter(d)
            
Dim ds As New DataSet
            da
.Fill(ds"ozv")
            
objcon.Close()
            
Dim arrPic() As Byte CType(ds.Tables("ozv").Rows(0).Item("pics"), Byte())

            
Dim ms As New MemoryStream(arrPic)

            
Me.picbox_oa.Image Image.FromStream(ms)
            
txtdateozviat_oa.Text ds.Tables("ozv").Rows(0).Item("tarikh_ozviat").ToString
            txtname_oa
.Text ds.Tables("ozv").Rows(0).Item("fname").ToString
            txtfamily_oa
.Text ds.Tables("ozv").Rows(0).Item("lname").ToString
            txtfather_oa
.Text ds.Tables("ozv").Rows(0).Item("name_pedar").ToString
Catch ex As Exception

            MessageBox
.Show(ex.Message)

        
End Try 
ببخشید اگه زیاد شد. خواستم اگه کسی مثل من دنبالش گشت بتونم راهنماییش کنم
با تشکر فراوان از دوست خوبم Ghoghnus
(آخرین ویرایش در این ارسال: ۲۵-آبان-۱۳۹۲, ۱۱:۲۵:۳۵، توسط antionline.)
۲۵-آبان-۱۳۹۲, ۱۱:۲۳:۲۹
ارسال‌ها
پاسخ
تشکر شده توسط : Ghoghnus, babyy, lord_viper, Ambassador


پرش به انجمن:


کاربرانِ درحال بازدید از این موضوع: 2 مهمان

صفحه‌ی تماس | IranVig | بازگشت به بالا | | بایگانی | پیوند سایتی RSS