# برنامه نویسی با محصولات مایکروسافت > برنامه نویسی مبتنی بر Microsoft .Net Framework > ASP.NET Web Forms > سوال: ذخیره عکس در sql2005

## a_123123123123

کسی میتونه کمکم کنه و بهم بگه چه طوری میتونم یه عکس رو تو sql2005  دبا asp.net ذخیره کنم.
لطفا واضح توضیح بدید.
من خیلی پشتم و به جواب نرسیدم :گریه: .

----------


## mehrdad85

سلام 

دوست عزیز میتونی عکس ها را داخل یه فولدر بخصوص ذخیره کنی و حالا داخل db یه field  از نوع nvarchar در نظر بگیری و به جای اینکه عکس را داخل db ذخیره کنی و  هنگام استفاده فقط آدرس را از db بخونی
با این کار علاوه بر اینکه ذخیره و بازیابی اونو سریع تر میکنی بلکه حجم db هم به شدت کاهش پیدا میکنه 




موفق باشی
یا علی

----------


## grobech

اینجا رو ببین
لینک

----------


## a_123123123123

کد میخوام.کد 
کد
کد
بهم بگین چه کدی بنویسم
این کدایی که بهم میگید چیان
خوب چرا جواب ادمو درست نمیدین.من کار دارمممممممممممممممممممممم  ممممممم :گریه:

----------


## karim orooji

> کد میخوام.کد 
> کد
> کد
> بهم بگین چه کدی بنویسم
> این کدایی که بهم میگید چیان
> خوب چرا جواب ادمو درست نمیدین.من کار دارمممممممممممممممممممممم ممممممم


سلام
لینک صفحه ای کد دوست عزیزمونجناب *grobech*  گذاشتند کامل بود
مشکلی نداشت

----------


## a_123123123123

مشکلو من دارم که نمیدونم کدوم کدومه.
ممکنه id تون رو بهم بدین تا بهم کمک کنید من حلش کنم.من یه هفته است سر این گیر کردم.

----------


## a_123123123123

اخه asp.net که open dialog نداره که؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟  ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

----------


## karim orooji

سلام 
این برنامه ای برای شما ضمیمه کردم میاد آدرس عکس رو در بانک ذخیره میکنه و یک کپی از عکس میگیره و در پوشه داخل برنامه کپی میکنه

----------


## a_123123123123

سلام
از اینکه اینو برام فرستادین یه دنیاااااااااااااااااااااا  اااااااااااا ممنون.به نظرم خیلی چیز توپیه.ولی ممکنه یه کم درباره کارایی که توش انجام شده برام توضیح بدید.من باید مشکلم حل بشه.اگه id بدید که دیگه اخرشین.

----------


## a_123123123123

lمثلا lbl_name کجاست.خطا میده.من جایی نمی بینم که اسم کنترل رو گذاشته باشید

----------


## a_123123123123

سلام.
میشه جواب منو بدی آقای اوروجی. من واقعا به کمکتون احتیاج دارم.

----------


## karim orooji

سلام 
اوروجی نه اروجی
در Default2.aspx میباشد
زمانی که کد رهگیری رو وارد میکنید اگه شرط درست باشه اطلاعا مورد نظر رو برای شمانمایش میده


برنامه ضمیمه کردم یکم مشکل داشت 
درست شد

----------


## a_123123123123

سلام اقای اروجی.
من واقعا گیر کردم. تو که میتونی مشکل منو حل کنی وخوب حلش کن دیگه.بگو کجاهاش رو تغییر بدم.الان به بانک وصل نمیشه.آدرس بانکم درسته.
بگو چیکار کنم مثل آدم درست شه و من اجرا بگیرم.من دیگه وقتی ندارم برای درست کردنش.همه کارام مونده. :گریه:

----------


## karim orooji

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


```
"Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True;User Instance=True"
```

فکر نکم برنامه مشکل داشته باشه
از خطایی که برنامه  میده یک عکس بگیر ضمیمه کن

----------


## a_123123123123

خوب چطوری این فایلو تو visualstudio باز کنم.
هر کاری میکنم خودش نمیاد.دستوراشم کپی میکنم یا دوباره می نویسم بازم اجزا نمیشه.خیلی وقتا اصلا هیچی نمیاد.

----------


## a_123123123123

میشه بگید کجاهشو چه جوری باید تغییر بدم .مثل اسم جدول، مسیر بانک با هر چیز دیگه؟
دیگه نمیدونم چیکار کنم.خواهش میکنم زود جوابمو بدین.

----------


## a_123123123123

1.JPG
 اینو چیکارکنم؟

----------


## a_123123123123

2.jpg
وقتی  یه چیز جدید وارد میکنم  خطا میده و اینکه عکس رو هم تو DATAGRID نشان نمیده.
لطفا هر چه زودتر پاسخم رابده برادر؟ :افسرده:

----------


## karim orooji

سلام
حق با شماست برنامه روی سیستم خودم هم ارو داشت مسکلاتشو برطرف کردم 
ببین چطوری


یا علی

----------


## a_123123123123

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

----------


## karim orooji

سلام
سـالروز شهـادت جانسوز دخت نبي مکرم اسلام حضرت فاطمه (س) را به تمامی شیعیان تسلیت عرض مینمایم برای تغییر دادن برنامه مخصوصا بانک برنامه 
متغییر sqlconnection رو در برنامه پیدا کن

Dim con As New SqlConnection("Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirector  y|\*Database.mdf*;Integrated Security=True;User Instance=True")

ابتدا بانک خودتون رو به پوشه درون App_Data در برنامه ریخته
و سپس زیر کلمه ای رو که خط کشید رو نام بانک خودتون رو بنوسید
و دقت کنید فیلدهای بانک مطابق با اون چیزی که در برنامه تعیین کردیم مطابقت داشته باشه
اسم جدول برنامه هست t1
و فیلد های موجود در بانک هم هست
name , family,sh_sh,pic,code میباشد


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


موفق و پیروز باشید

----------


## a_123123123123

سلام.خیلی ممنون از اینکه هی لطف میکنین :خجالت: .
ممکنه درباره اون قسمت دخیره عکس در بانک توضیح بدید.مثلا /pic/ یعنی چی؟
a3 = "pic/" & str
            a = (a1 & "//") + str
            Dim dd As String = "~/"
            Dim path As String = dd + a3
خیلی مرسی برادر  :تشویق:

----------


## karim orooji

سلام
این چند تا متغیر رشته ای هستند که میاد ؟
1- بدست آوردن آدرس عکس انتخابی 
2- مسیری که باید عکس انتخابی در پوشه ای در برنامه کپی بشه 
رو مشخص میکنند
پس از این کارها  با توجه به اون دو آدرس  میاد بوسیله fileupload متد save  عکس مورد نظر رو در برنامه کپی میشه
و آدرس شو هم در بانک



> Dim dd As String = "~/"


در این قسمت برای فراخوانی عکسی که در برنامه استفاده کردیم بهتر این "~/" به اول مسیر عکس  اضافه بشه و در بانک ذخیره شده

----------


## a_123123123123

به پروژه خودم وصل نمیشه؟

----------


## karim orooji

یعنی چی
وصل نمیشه

----------


## a_123123123123

وقتی پوشه رو میذارم تو پوشه خودم error میذه.
وقتی اونو همونجا به بانکم وصل میکنم دوباره عکس رو تو grid view نشون نمیده

گرفتارم من اصلا بابا

----------


## karim orooji

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

----------


## a_123123123123

دیگه خسنه شدم. :گریه: داداش فکر کن من هیچی نمیدونم.تمام کارایی رو که باید اینو به پروزه خودم وصل کنمو بگو.
من چه جوری بانکمو تو app بیارم اخه.
برنامت ات اجرا میشه ولی به تنهایی.تو پروژه ام نمیاد.وقتی به بانک وصلش میکنم تو جدول نشون نمیده عکسارو.

----------


## karim orooji

مراجعه کن به پوشه برنامه 
بانکتو رو در داخل  app   کپی کن 
اگه در پروژه همچین پوشه ای نداشتی میتونی اینطوری بیاریش

----------


## a_123123123123

vb من همه و داره جز app_data .

----------


## a_123123123123

بانکمم کپی نمیشه.

----------


## karim orooji

خوب همینطوری که گفتم ایم کار رو انجام بده
میتونی هم به صورت دستی هم این کار رو بکنی

----------


## karim orooji

نگاه اگه بانک توی Sqlserver  ابتدا روی بانکت راست کلیک کن و گزینه detach  بزن تا اتصال قطع شه 
تا بعد اجازه کپی دادن بده

----------


## a_123123123123

سلام.منو ببخشید از اینکه این همه خستتون کردم. :خجالت: اقای اروجی من وقتی دستور Data Source=FRIDON\SQLEXPRESS;Initial Catalog=az;Integrated Security=True رو میدم به بانک وصل میشه ،اطلاعات و ذخیره میکنه حتی عکس رو هم توی pic میریزه ولی تو datagrid نشون نمیده.اینو چیکار کنم. :گیج: 
؟
میدونم سرتونو درد اوردم.مغز خودمم داره منفجر میشه. :ناراحت:

----------


## karim orooji

سلام
گرید رو احیاناً سیخ کاری نکردیش

صفحه ای که گرید داخلشه رو ضمیمه کن

----------


## a_123123123123

C:\Inetpub\wwwroot\Ws\DIFUALT.ASPX

----------


## a_123123123123

Imports System.IO
Imports System.Data
Imports System.Data.SqlClient
Partial Class _Default
    Inherits System.Web.UI.Page
    Dim con As New SqlConnection("Data Source=FRIDON\SQLEXPRESS;Initial Catalog=az;Integrated Security=True")
    Dim com As New SqlCommand
    Public Function CreateSalt() As String
        Dim rnd As New Random
        Return rnd.Next(10000, 99999)
    End Function
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        If up.HasFile = False Then
            MsgBox("لطفا عکس رو انتخاب کنید", MsgBoxStyle.Critical, "خطا")
        Else
            Dim str, a, a1, a3 As String
            str = System.IO.Path.GetFileName(up.PostedFile.FileName)
            a1 = Server.MapPath("pic")
            a3 = "pic/" & str
            a = (a1 & "//") + str
            Dim dd As String = "~/"
            Dim path As String = dd + a3

            com.Connection = con
            com.CommandText = "insert into t1 values (@name,@family,@sh_sh,@pic,@code)"
            com.Parameters.AddWithValue("@name", txt_name.Text)
            com.Parameters.AddWithValue("@family", txt_family.Text)
            com.Parameters.AddWithValue("@sh_sh", txt_sh.Text)
            com.Parameters.AddWithValue("@pic", path)
            Dim int1 As Integer = CreateSalt()
            com.Parameters.AddWithValue("@code", int1)
            Try
                con.Open()
                com.ExecuteNonQuery()
                con.Close()
                up.SaveAs(a)
                lbl_code.Text = int1
                load_1()
            Catch ex As Exception
                Response.Write(ex.Message)
            End Try
        End If
    End Sub
    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button2.Click
        Session("code") = txt.Text
        Response.Redirect("Default2.aspx")
    End Sub
    Sub load_1()
        Dim dta As New SqlDataAdapter("select * from t1", "Data Source=FRIDON\SQLEXPRESS;Initial Catalog=az;Integrated Security=True")
        Dim ds As New DataSet
        ds.Clear()
        dta.Fill(ds, "t1")
        GridView1.DataSource = ds
        GridView1.DataBind()
    End Sub
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        load_1()
    End Sub
    Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
        Dim dta As New SqlDataAdapter("select * from t1", "Data Source=FRIDON\SQLEXPRESS;Initial Catalog=az;Integrated Security=True")
        Dim ds As New DataSet
        ds.Clear()
        dta.Fill(ds, "t1")
        GridView1.PageIndex = e.NewPageIndex
        GridView1.DataSource = ds
        GridView1.DataBind()
    End Sub
End Class


بلد نیشتن ضمیمه کنم.. :قهقهه:  :خجالت:

----------


## karim orooji

عیبی نداره
برای این کار دکمه حالت پیشرفته رو میزنی
در پایین صفحه مدیریت ضمیمه ها
asdfasdfsfsdfs.GIF
بعد از اون صفحه برات باز میشه انتخاب فایلها رو میزنی
همون افزودن فایل

asasasas.GIFuntitledaaaaaa.GIF
فایل مورد نظر رو به صورت زیپ در میارید 
میتونی فایل رو انتخاب کنی و ضمیمه کنی


حالا این کار رو انجام بده صفحه ای که گفتم رو بزار

----------


## sara_1365

من خنگ نیستم.ولی شما هم خیلی حوصله دارین :متعجب: .
Ws.rar

----------


## sara_1365

سلام.میفرستم

----------


## sara_1365

نمیاد.اپلودم میکنم ولی هیچی.

----------


## karim orooji

حتما فایل های ارسالی باید 
با پسوند های rar  zip  باشند

----------


## a_123123123123

میدونم.زیپ میکنم ولی بعد از آپلود هیچ اتفاقی نمی افته. تو کادر پاسخ تایپیک نمیاد که ارسال کنم.

----------


## karim orooji

سلام نگاه کن دوست عزیز 

طبق این عکس پس از انتخاب فایل مورد نظر  کمه ارسال رو بزنی شروع به فرستادن فایل میکنه
asdadas.GIF
بعد از آپلود فایل مورد نظر  میاد به این صورت نمایش میده
zzsdfsfd.GIF

----------


## a_123123123123

همش میگه اندازه فایلت مجاز نیست.دیگه نمیدونم چیشو باید حذف کنم

----------


## a_123123123123

من هیچ کار خاصی نکردم فقط ادرس بانک شما تو app بود که برای من تو خود sql2005 هستش.فقط ادرسو عوض کردم .
Data Source=FRIDON\SQLEXPRESS;Initial Catalog=az;Integrated Security=True
همین کارو شمام انجام بدین ببینید چرا عکس رو نشون نمیده.

----------


## karim orooji

سلام
مقدار فیلد pic  رو در بانک چک کن ببین که باید مقدار این طوری باشه
مثلا یک عکس در بانک ذخیره شده 
به نام ali.jpg 
که بایدکارکتر ها 

```
~/pic/
```

 قبلali.jpg وجود داشته باشه اگر نه عکس رو برای شما نمایش نمیده


```
~/pic/ali.jpg
```

----------


## a_123123123123

اره.ادرس تو بانک ذخیره میشه حتی عکس هم تو پوشه pic میره ولی فقط تو datagrid نشون نمیده.

----------


## karim orooji

سلام کد صفحه vb و html  رو بزار

----------


## a_123123123123

داداش درست شد :لبخند گشاده!:  :تشویق:  جای فیلداش رو عوض کردم.ولی یه مشکل دیگه پیدا شده؟
وقتی کد رهگیری رو میزنم تو صفحه بعدش مشخصات نمیاد.و خظا میده.
 :متفکر: 4.jpg

----------


## karim orooji

> داداش درست شد جای فیلداش رو عوض کردم.ولی یه مشکل دیگه پیدا شده؟


واقعاً خسته نباشی




> وقتی کد رهگیری رو میزنم تو صفحه بعدش مشخصات نمیاد.و خظا میده.


مشکل از بانکته
باید تمانی فیلد هات برابری کنه با این عکس
untitled.GIF

----------


## a_123123123123

:متعجب:  :خجالت:  :بامزه:  :کف کرده!:  :لبخند گشاده!:  :تشویق:  :تشویق:  یه دنیاااااااااااااااااااااا  ااااا ممنون.داماد بشی اشالله.هر چی لز خدا میخوای بهت بده.دیگه داشتم دیوانه میشدم.دیشب تا ظهر مغزم داشت می ترکید اینقدر حرص خوردم.
ای ول بهت.خدا عوضت بده. :تشویق:

----------


## karim orooji

> یه دنیاااااااااااااااااااااا ااااا ممنون.داماد بشی اشالله.هر چی لز خدا میخوای بهت بده.دیگه داشتم دیوانه میشدم.دیشب تا ظهر مغزم داشت می ترکید اینقدر حرص خوردم.
> ای ول بهت.خدا عوضت بده.


موفق باشی دوست من :چشمک:

----------


## a_123123123123

با عرض معدرت و در کمال پررویی چیکار کردی که از هر صفحه ای که برنامه رو اجرا میکنم صفحه اول ظاهر میشه؟

----------


## a_123123123123

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

----------


## karim orooji

روی هر صفحه ای که راست کلیک کنی گزینه set as start page 
رو بزنی از این به بعد برنامه با  استارتش صفحه باز میشه :لبخند گشاده!:

----------


## a_123123123123

استاد عزیز در هرجا عمل کلیک راست ا انجام می دهم نمی اید و هی مارا ضایع میکند در پیش شما.چه باید کرد.اصلا همچین چیزی نمیاد

----------


## a_123123123123

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

----------


## karim orooji

سلام



> ستاد عزیز در هرجا عمل کلیک راست ا انجام می دهم نمی اید و هی مارا ضایع میکند در پیش شما.چه باید کرد.اصلا همچین چیزی نمیاد


همن کریم ما رو صدا کنی بهتره




> استاد اگه جواب این سوالمم بدید من فعلا درباره این مبحث سوال دیگه ای ندارم.اگه بازم سوال بپرسم چه عکس العملی نشان میدهید؟


نه من کوچیک شمایم هر چی در توانم باشه و یاد داشته باشم دریغ نمیکنم

در رابطه با سوالت
روی صفحه مورد نظر راست کلیک کنید ها
untitled.GIF

----------


## a_123123123123

بابا با سخاوت. :متعجب: ما جسارت نمیکنیم.  :خجالت: من میخوام برای سایتم login درست کنم.هر چی سرچ میکنم همش با اکسس هستش.به از هرکسی هم سوال میکنم فکر میکنه من تو درست کردن دو تاکادرش مشکل دارم.فرمش رو درست کردم ولی نمیدونم سطح دسترسی رو چه جوری باید تعریف کنم.ممکنه راهنماییم کنی چی کار باید بکنم؟

----------


## a_123123123123

راستی شماها چه جوری راضی میشین این قدر اطلاعاتو راحت در اختیار ماها بذارین.واقعا هدفتون چیه؟چی گیرتون میاد؟

----------


## karim orooji

نمیدونستی بدون
امام صادق (ع) فرمودند زکات علم نشر آن است.

----------


## L_eskandary

> راستی شماها چه جوری راضی میشین این قدر اطلاعاتو راحت در اختیار ماها بذارین.واقعا هدفتون چیه؟چی گیرتون میاد؟


البته من هر وقت فرصت کنم و البته جواب سوالی رو بدونم پاسخ می دم ولی خوب خواستم تجربه خودم رو بگم اولا لذتی که از در اختیار دادن اطلاعاتت بهت دست میده با هیچی نمی تونی بدست بیاری و ثانیا من یکی که یاد روزهایی می افتم که خودم تازه کارام رو شروع کرده بودم و به کمک دوستان تونستم مشکلاتی که داشتم رو حل بکنم . 
البته نه فقط این سایت بلکه بسیاری از سایت های خارجی هم وجود دارن که واقعا تشکیل یه تیم بزرگ و البته بدون هیچ مدیر و مدیرعاملی رو دادن و همه دارن به هم کمک می کنن و فک می کنم نهایتا تلاش همه ما این هست که یه بخشی از مسائل موجود در رابطه با زندگی های روزمره مون رو حل کنیم و این همفکری ها می تونه باعث سرعت بخشیدن به کارهامون بشه.
و اما در مورد شما :
با عرض معذرت یه نظری داشتم ، اگه می خواین بهتر نتیجه بگیرین اول خودتون به اندازه کافی تلاش کنین و اگه نتونستین به جواب برسین بیاین و تاپیک بزنین به نظر من یه تاپیک با 62 پست برا آپلود عکس خیلی نمی تونه قانع کننده باشه!
موفق باشین.

----------


## a_123123123123

اولا که خوش به حالتون.من تا یکی دوسال پیش درنهایت صداقتم هرکاری که از دستم بر میاومد مخصوصا در این جور موارد انجام میدام نه مثل شما تو سایت بررای دوستام.ولی اکثر اوقات به جای تشکر خشک و خالی تو سرمم میخورد و تصمیم گرفتم دیگه از این کارا نکنم.چون خیلیا ارزششو ندارن.
دوما من گشته بودم ولی چون کسی رو ندارم که جوابمو بده و اگرم باشه نمیگه و اینجا تنها جایی که سوالمو میتونم راحت بیان کنم و حداقلش سردرگم نمیشم.حتی اگه به جواب نرسم.خیلی مطالب پیدا کرده بودم ولی نمی تونستم سروته اسش رو دربیارم.چاره ای جز تایپیک زدن نداشتم.حالا مگه ضرری داره تایپیک زدن.چیزی از کسی کم شده؟

----------


## a_123123123123

ممکنه چندتا کتاب خوب بهم معرفی کنید تا بتونم با asp.net کارای بهتری انجام بدم مخصوصا تو قسمت login.چون نمیدونم چه جوری باید سطح دسترسی تعریف کنم.


دیگه ام منو دعوا نکنین.خوشم نمیاد :ناراحت:

----------


## karim orooji

سلام اگه جستجو کنی کنی
تویه سایت زیاده

----------


## omid.mohamadi

اینجا کامل توضیح داده :
http://www.aspdotnetcodes.com/Insert..._Database.aspx

----------


## tooraj_azizi_1035

برای ذخیره عکس باید از FILE STREAM استفاده کنی باعث میشه عکس تو بانک ذخیره نشه بلکه خارج از بانک و توسط NTFS مدیریت بشه: 
[http://www.farsimsdn.somee.com/default.aspx?id=6

----------

