PDA

View Full Version : نمایش عکس در gridview



m.toosi
شنبه 15 بهمن 1390, 23:07 عصر
من میخوام اطلاعات عکس ذخیره شده در gridview که از طریق روش زیر گفتم در بانکم ذخیره بشه
Protected Sub btnadd_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnadd.Click
Dim patch As String = ""
Dim filename As String = "Image00" & db.ExecuteScalar("Select Max(id) from tbl_product") + 1
Select Case db.Get_Ext(FUpload.FileName)
Case "jpg"
patch = "~/admin/img product/" & filename & ".jpg"
Case "gif"
patch = "~/admin/img product/" & filename & ".gif"
Case "png"
patch = "~/admin/img product/" & filename & ".png"
Case Else
lblerrorpic.Text = "عکس شما مجاز نمی باشد"
Exit Sub
End Select
patch = Server.MapPath(patch)
FUpload.SaveAs(patch)

Try
cmd.CommandText = "insert into tbl_product (name,sum,des,price,pic) values(@name,@sum,@des,@price,@pic)"
...
cmd.Parameters.AddWithValue("@pic", patch)
'cmd.Parameters.Add("@patch", SqlDbType.NVarChar).Value = "img product/" + filename
db.ExecuteNonQuery(cmd)

lblmas.Text = "اطلاعات شما با موفقیت ثبت شد"
Catch ex As Exception
lblmas.Text = "اطلاعات ثبت نشد"
End Try
End Sub

ولی مشکلم اینجاست که که ذخیره میشه ولی به این شکل :
D:\project\WebSites\admin\img product\Image0024.jpg

وداخل gridview یک عکس از نوع تمبلیت به این صورت ایجاد کردم
<img alt="" src="<%# Eval("pic") %>" width="100px" height="100px"/>


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

fakhravari
یک شنبه 16 بهمن 1390, 00:52 صبح
با سلام
شما باید FUpload.FileName بگیرید نه path
در روش بایند در src Img به این صورت که ذخیره میکنید نیست.
از روش فایل نام و در نهایت ادرس + بایند نام

m.toosi
یک شنبه 16 بهمن 1390, 01:19 صبح
و همچنین در صفحه ای که گریدویو رو گذاشتم به این صورت با C# نوشتم

protected void Page_Load(object sender, EventArgs e)
{
DataSet dss = new DataSet();
SqlDataAdapter data = new SqlDataAdapter("select * from tbl_product", "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirecto ry|\\toolica.mdf;Integrated Security=True;User Instance=True");
{
dss.Clear();
data.Fill(dss, "tbl_product");
GridView1.DataSource = dss;
GridView1.DataBind();
}
}



از این خط خطا میگیره
GridView1.DataBind();

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

m.toosi
یک شنبه 16 بهمن 1390, 09:43 صبح
دوست عزیز لطفا نمونه کدشو برام اینجا بنویس
در روش بایند در src Img به چه صورت باید ذخیره کنم؟
و اون قسمت هایی که اشکال داره رو بگو لطفا
ممنون از لطفت

fakhravari
یک شنبه 16 بهمن 1390, 13:36 عصر
بهتره همه قسمت ها رو جدا بنویسی.
فکر کنم از اتصال باشه.
SqlConnection con = new SqlConnection(ConnectionString);
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = " SELECT TOP 8 * FROM Link ORDER BY LinkID DESC ";
con.Open();

SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();

da.Fill(dt);

GridView1.DataSource = dt;
GridView1.DataBind();

con.Close();
http://barnamenevis.org/showthread.php?293494-%D9%86%D9%85%D8%A7%DB%8C%D8%B4-%D8%B9%DA%A9%D8%B3-%D8%AF%D8%B1-%DA%AF%D8%B1%D8%A7%DB%8C%D8%AF-%D9%88%DB%8C%D9%88/page2&highlight=%D8%A8%D8%A7%DB%8C%D9%86%D8%AF+%D8%AF%D8 %B1+ImageUrl

m.toosi
یک شنبه 16 بهمن 1390, 21:06 عصر
دوست عزیز میشه این خطو توضیح بدی؟
SELECT TOP 8 * FROM Link ORDER BY LinkID DESC

از این خط خطا میگیره :گریه: da.Fill(dt);
و میگه : Invalid object name 'Link'.

fakhravari
یک شنبه 16 بهمن 1390, 22:23 عصر
:لبخند: اسم جدول منو دادی.Link

m.toosi
دوشنبه 17 بهمن 1390, 06:09 صبح
داداش چون زیاد آشنایی با دستورات SQL ندارم
لطفا توضیح بده این خط چکار میکنه
احتمالا یک قسمتش رو باید تغییر میدادم
" SELECT TOP 8 * FROM Link ORDER BY LinkID DESC "
دقیقا اسم خطا این هست
Invalid object name 'Link'.

m.toosi
دوشنبه 17 بهمن 1390, 07:28 صبح
دوست عزیز من یک برنامه ساده درست کردم که بشه تو اون تغییرات رو ایجاد کرد
و خیلی بهتر بشه مثال زد
من اشکالات جزیی دارم داخل برنامه لطفا مشکلاتش رو برطرف کن و بزار تو سایت بقیه دوستان هم استفاده کنند

باتشکر و احترام

Saman Hashemi
دوشنبه 17 بهمن 1390, 07:37 صبح
" SELECT TOP 8 * FROM Link ORDER BY LinkID DESC "
رکورد هارو براساس LinkID مرتب میکنه و بعد 8 رکورد اول انتخاب میکنه...!

ahmad156
دوشنبه 17 بهمن 1390, 09:10 صبح
دوست عزیز
از وجود جدولی با نام Link مطمئن هستی؟

fakhravari
دوشنبه 17 بهمن 1390, 09:42 صبح
سمپلی که گذاشتی دیتابیس نداره.
سوال شما در select یا insert توی سمپل که img اینجوری تغیر بده

<asp:ImageButton ID="ImageButton1" runat="server" Height="96px" ImageUrl='<%# Eval("pic") %>' Width="119px" />
<img src='<%# Eval("pic", "img/{0}")%>' width="400" height="180"/>

m.toosi
دوشنبه 17 بهمن 1390, 11:41 صبح
دوست عزیز
از وجود جدولی با نام Link مطمئن هستی؟

من که مطمن نیستم دوست عزیز آقای fakhravari فرمودندبه این صورت بنویسم
شما اگر نظر خاصی داری بگو به چه صورت بنویسم

m.toosi
دوشنبه 17 بهمن 1390, 11:48 صبح
سمپلی که گذاشتی دیتابیس نداره.
سوال شما در select یا insert توی سمپل که img اینجوری تغیر بده

<asp:ImageButton ID="ImageButton1" runat="server" Height="96px" ImageUrl='<%# Eval("pic") %>' Width="119px" />
<img src='<%# Eval("pic", "img/{0}")%>' width="400" height="180"/>


دیتابیس رو نمیشد آپلود کنم حجمش بیشتر بود
دوباره هم سعی کردم
755 کیلوبایت هست و سایت اجازه uploadش رو نمیده:عصبانی::گریه:
حالا نمیشه یک نگاهی به سورسش بندازی مهندس؟

من براش دوباره تعریف کردم که با آدرس زیر عکسو ذخیره کنه
Dim patch As String = "~/img/"
patch = Server.MapPath(patch & FUpload.FileName.ToString())
FUpload.SaveAs(patch)


و به این صورت گفتم عکسو بخونه
<img src='<%# Eval("pic", "img/{0}")%>' width="400" height="180"/>
ولی باز هم خطا میگیره:گریه: