در این آموزش، نشان خواهیم داد که چگونه ارسال تصویر از GridView را به دیتابیس SQL Server در ASP.NET و زبان سی شارپ ارسال کنیم.

برای این کار، ابتدا چند عکس را در جدول دیتابیس خود آپلود کرده و سپس این تصاویر را در GridView بارگذاری می کنیم.

سپس، بعد از انتخاب چند عکس ازGridView، آن ها را در جدول دیگری از دیتابیس ذخیره خواهیم کرد.

مرحله اولیه ارسال تصویر از GridView

گام اول

ویژوال استودیوی خود را باز کرده و یک وب سایت خالی ایجاد می کنیم.

یک نام مناسب به دلخواه انتخاب می کنیم (gridview_demo).

گام دوم

در پنجره Solution Explorer، می توانیم وب سایت خود را ببینیم. یک web Form و SQL Database به آن اضافه می کنیم:

برای Web Form

روی نام پروژه راست کلیک کرده Add New Item را انتخاب کرده و سپس Web Form را انتخاب می کنیم و نام آن را gridview_demo.aspx می گذاریم.

برای SQL Server Database

روی نام پروژه راست کلیک کرده، Add New Item را انتخاب کرده و سپس SQL Server Database را انتخاب می کنیم (دیتابیس را

درون فولدر App_Data اضافه می کنیم).

بخش مربوط به دیتابیس

گام سوم

به دیتابیس خود می رویم (Database.mdf). یک جدول با نام tbl_image و جدول دیگری با نام tbl_save ایجاد می کنیم.

به database.mdf رفته و روی Table راست کلیک می کنیم و Add New table را انتخاب می کنیم. جدول خود را به شکل زیر طراحی

می کنیم.

Tbl_image

ارسال تصویر از GridView

Tbl_save

ارسال تصویر از GridView

بخش طراحی

گام چهارم

فایل grid_demo.aspx را برای طراحی خود باز می کنیم. یک HTML table، یک کنترل FileUpload، دو دکمه و یک lable و یک Textbox

و GridView را به صفحه می کشیم و اضافه می کنیم.

ارسال تصویر از GridView

بخش کد

گام پنجم

فایل grid_demo.aspx.cs را باز کرده و کد زیر را برای ذخیره تصویر در دیتابیس می نویسیم.

using System;  
using System.Collections.Generic;  
using System.Linq;  
using System.Web;  
using System.Web.UI;  
using System.Data.SqlClient;  
using System.Data.Sql;  
using System.Data;  
using System.Web.UI.WebControls;  
  
public partial class _Default : System.Web.UI.Page  
{  
  
    SqlConnection con = new SqlConnection(@"Data Source=Nilesh;Initial Catalog=test_db;Integrated Security=True");  
    protected void Page_Load(object sender, EventArgs e)  
    {  
        if (!IsPostBack)  
        {  
            refreshdata();  
              
        }  
  
    }  
  
    protected void Button1_Click(object sender, EventArgs e)  
    {  
        if (FileUpload1.HasFile)  
        {  
            string str = FileUpload1.FileName;  
            FileUpload1.PostedFile.SaveAs(Server.MapPath("~/Upload/") + str);  
            string image = "~/Upload/" + str.ToString();  
            string imagename = TextBox3.Text;         
            SqlCommand cmd = new SqlCommand("insert into tbl_image values(@imagename,@image)", con);  
            cmd.Parameters.AddWithValue("@imagename", imagename);  
            cmd.Parameters.AddWithValue("@image",image);  
  
            con.Open();  
            int i = cmd.ExecuteNonQuery();  
            con.Close();  
  
            refreshdata();  
  
            Label1.Text = "File Uploaded";  
            Label1.ForeColor = System.Drawing.Color.Green;  
  
        }  
  
        else  
        {  
            Label1.Text = "Please Upload valid file";  
            Label1.ForeColor = System.Drawing.Color.Red;  
  
        }  
  
         
    }  
  
    public void refreshdata()  
    {  
  
        SqlCommand cmd = new SqlCommand("select * from tbl_image",con);  
        SqlDataAdapter sda = new SqlDataAdapter(cmd);  
        DataTable dt = new DataTable();  
        sda.Fill(dt);  
        GridView1.DataSource = dt;  
        GridView1.DataBind();   
         
    }  
  
    protected void Button2_Click(object sender, EventArgs e)  
    {  
       
        foreach (GridViewRow gvrows in GridView1.Rows)  
        {  
            var checkbox = gvrows.FindControl("CheckBox1") as CheckBox;  
            if (checkbox.Checked)  
            {  
  
                var lblname = gvrows.FindControl("Label2") as Label;  
                SqlCommand cmd = new SqlCommand("insert into tbl_save values(@imagename)", con);  
                cmd.Parameters.AddWithValue("imagename", lblname.Text);  
                con.Open();  
                int i = cmd.ExecuteNonQuery();  
                con.Close();  
                Label3.Text = "Image Saved";  
                Label1.ForeColor = System.Drawing.Color.Green;  
  
                refreshdata();  
  
            }  
  
            else  
            {  
  
                Label3.Text = "Please try it again";  
                Label1.ForeColor = System.Drawing.Color.Red;  
            }  
  
  
             
  
             
        }  
          
    }  
}   

خروجی

ارسال تصویر از GridView

ما یک تصویری با نام test5 را در جدول دیتابیس خود (tbl_image) آپلود کردیم و به صورت داینامیک در GridView هم بارگذاری شد.

ارسال تصویر از GridView

حالا کاربر تصویر test5 را انتخاب کرده تا در دیتابیس ما (tbl_save) ذخیره نماید. کاربر آن را انتخاب خواهد کرد و

روی دکمه ذخیره کلیک می کند. حالا می توانیم تصویر را در جدول tbl_save ببینیم.

ارسال تصویر از GridView

 


 

دانلود فایل

دانلود با لینک مستقیم
پسورد فایل : www.mspsoft.com
زهره سلطانیان

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.