views:

14

answers:

0

Hello,

I am using C#. net and SQL server 2005.

I am uploading files(word, PDF) to DB and displaying on page using grid view. I have different claim Numbers. like co50000006( like 10 rows). I mean the claim number has different files. I have other claim numbers on my table.(like c08000131, c01000001).

I want to display only one claim number rows on grid. I mean what ever number my querystring show i want to display the perticular claim number on my grid.(Request.QueryString["ClaimNum"];).

Please help me on this.

I am getting claimnumber on table on my page header and I am inserting this value into the table.

protected void Page_Load(object sender, EventArgs e)
    {
        //Showing Claim Number on file upload.
        lblFileUploadCliamNumber.Text = Request.QueryString["ClaimNum"];


    }

 <asp:TemplateField HeaderText="Load Date">
 <ItemTemplate>
 <asp:Label runat="server" ID="LoadDate"
 Text='<%# String.Format("{0:M/d/yyyy}", Eval("LoadDate"))  %>' />
 </ItemTemplate>
 </asp:TemplateField>                         

<%--'/>--%>
Download

I am using sql query here.

" SelectCommand="SELECT [ID], [ClaimNumber], [LoadDate], [Description], [ContentType], [Data] FROM [tblFiles]">

Below are the my total code using in file upload.aspx.cs.

public partial class FileUpload : System.Web.UI.Page
{

    private string redirectFrom = "FileUpload";


    protected void Page_Load(object sender, EventArgs e)
    {
        //Showing Claim Number on file upload.
        lblFileUploadCliamNumber.Text = Request.QueryString["ClaimNum"];

    }
    protected void Page_Init(object sender, EventArgs e)
    {

        WireEvents();

    }

    private void WireEvents()
    {

       btnFileUploadClose.Click += new EventHandler(btnFileUploadClose_Click);



    }

    private void btnFileUploadClose_Click(object sender, EventArgs e)
    {
        ReturnToClaimInfo();
    }


    private void ReturnToClaimInfo()
    {

        Response.Redirect(String.Format("/ClaimInfoView.aspx?ClaimNum={0}&ClaimCertSeqNo={1}&ClaimCovNum={2}&RedirectedFrom={3}"
                                           , Request.QueryString["ClaimNum"]
                                           , Request.QueryString["ClaimCertSeqNo"]
                                           , Request.QueryString["ClaimCovNum"]
                                           , redirectFrom));
    }








    /// Different file types start


    protected void btnUpload_Click(object sender, EventArgs e)
    {


        // Read the file and convert it to Byte Array
        string strClaimNumber = lblFileUploadCliamNumber.Text.ToUpper();
        string strDate = DateTime.Now.ToShortDateString();

        string strDescription = txtDescription.Text.ToString();
        string filePath = FileUpload1.PostedFile.FileName;
        string filename = Path.GetFileName(filePath);
        string ext = Path.GetExtension(filename);
        string contenttype = String.Empty;

        //Set the contenttype based on File Extension

        switch (ext)
        {
            case ".doc":
                contenttype = "application/vnd.ms-word";
                break;
            case ".docx":
                contenttype = "application/vnd.ms-word";
                break;
            case ".xls":
                contenttype = "application/vnd.ms-excel";
                break;
            case ".xlsx":
                contenttype = "application/vnd.ms-excel";
                break;
            case ".jpg":
                contenttype = "image/jpg";
                break;
            case ".png":
                contenttype = "image/png";
                break;
            case ".gif":
                contenttype = "image/gif";
                break;
            case ".pdf":
                contenttype = "application/pdf";
                break;

        }

        if (contenttype != String.Empty)
        {


            Stream fs = FileUpload1.PostedFile.InputStream;
            BinaryReader br = new BinaryReader(fs);
            Byte[] bytes = br.ReadBytes((Int32)fs.Length);


            //insert the file into database

            string strQuery = "insert into tblFiles(Name, ContentType, Data, Description, ClaimNumber, LoadDate)" +
               " values (@Name, @ContentType, @Data, @Description, @ClaimNumber, @LoadDate)";
            SqlCommand cmd = new SqlCommand(strQuery);
            cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = filename;
            cmd.Parameters.Add("@ContentType", SqlDbType.VarChar).Value
              = contenttype;
            cmd.Parameters.Add("@Data", SqlDbType.Binary).Value = bytes;
            cmd.Parameters.Add("@Description", SqlDbType.VarChar).Value = strDescription.ToString();
            cmd.Parameters.Add("@ClaimNumber", SqlDbType.NVarChar).Value = strClaimNumber.ToUpper();
            cmd.Parameters.Add("@LoadDate", SqlDbType.DateTime).Value = strDate.ToString();
            InsertUpdateData(cmd);
            lblMessage.ForeColor = System.Drawing.Color.Green;
            lblMessage.Text = "File Uploaded Successfully";
            if (lblMessage.Text == "File Uploaded Successfully")
            {
                txtDescription.Text = string.Empty;
            }
            //if(FileUpload1 != null)
            //{
            //    lblMessage.Text = string.Empty;
            //}
            GridView1.DataBind();
        }

        else
        {

            lblMessage.ForeColor = System.Drawing.Color.Red;
            lblMessage.Text = "File format not recognised." +
              " Upload Word/PDF/Excel formats";

        }

    }


    private Boolean InsertUpdateData(SqlCommand cmd)
    {
        String strConnString = System.Configuration.ConfigurationManager
        .AppSettings["connString"];
        SqlConnection con = new SqlConnection(strConnString);
        cmd.CommandType = CommandType.Text;
        cmd.Connection = con;
        try
        {

            con.Open();
            cmd.ExecuteNonQuery();
            return true;

        }

        catch (Exception ex)
        {
            Response.Write(ex.Message);
            return false;

        }

        finally
        {
            con.Close();
            con.Dispose();
        }

    }


    //Retive doc

    protected void Retreive_Doc(object sender, EventArgs e)
    {

        string strQuery = "select Name, ContentType, Data from tblFiles where id=@id";
        SqlCommand cmd = new SqlCommand(strQuery);
        cmd.Parameters.Add("@id", SqlDbType.Int).Value = ((LinkButton) sender).CommandArgument;
        DataTable dt = GetData(cmd);
        if (dt != null)
        {

                download(dt);


        }
    }


    //Get data
    public DataTable GetData(SqlCommand cmd)
    {
        DataTable dt = new DataTable();
        String strConnString = System.Configuration.ConfigurationManager
        .AppSettings["connString"];
        SqlConnection con = new SqlConnection(strConnString);
        SqlDataAdapter sda = new SqlDataAdapter();
        cmd.CommandType = CommandType.Text;
        cmd.Connection = con;
        try
        {
            con.Open();
            sda.SelectCommand = cmd;
            sda.Fill(dt);
            return dt;
        }

        catch
        {
            return null;
        }

        finally
        {
            con.Close();
            sda.Dispose();
            con.Dispose();
        }

    }

    //down load file

    public void download(DataTable dt)
    {



        Byte[] bytes = (Byte[])dt.Rows[0]["Data"];
        Response.Buffer = true;
        Response.Charset = "";
        Response.Cache.SetCacheability(HttpCacheability.NoCache);
        Response.ContentType = dt.Rows[0]["ContentType"].ToString();
        Response.AddHeader("content-disposition", "attachment;filename="
            + dt.Rows[0]["Name"].ToString());
        Response.BinaryWrite(bytes);
        Response.Flush();
        Response.End();

    } 

    //end

}

}

Thanks, Ravi