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