• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 3694
  • Last Modified:

How to display images from database in gridview.

Ok, so i realise this may be going over some well trodden ground but I am yet to get this down. Thanks to a couple of other informative posts, I have been able to insert actual image data int an sql data base (i was originally thinking that this functionality may have been built in to Visual Web Developer). Now I would like to be able to display these images in a gridview for website gallery purposes. I would like the website owner to be able to upload extra images into the database table and have the gallery automatically updated. So, the gallery using images from "Pics of item x" table (for example) may have 15 images to start with. Owner gets, say, a five more images, uploads to the database and next time the gallery is displayed, the extra images are included. So far I have only found partial answers, that is, being a beginner, I am requiring a few more of the gaps filled in. For example there is an answer here http://www.experts-exchange.com/Programming/Languages/.NET/ASP.NET/Q_23181647.html  "02.22.2008 at 03:30AM PST, ID: 20956279". I get most of this except for the implimentation of the Response.Outputstream from GridImageTemplate.aspx. I am unsure about the call to the page and how the page is set up (fully).

Hoping for an answer as this is doing me in.

Thanks in advance from a nooby.
0
finnatic
Asked:
finnatic
  • 2
1 Solution
 
DhaestCommented:
Several good articles (with full explanation)

Storing Images to Database and Retrieving to GridView
http://www.beansoftware.com/asp.net-tutorials/images-database.aspx

Displaying Images in a Gridview using SQL Database
http://www.dotnet-friends.com/Articles/ASP/ARTinASP27c1c67b-0483-4d8d-9fca-86d066d03aa7.aspx

Inserting Images into Database and Display it in GridView through Handler.ashx
http://www.aspdotnetcodes.com/Insert_Images_Database.aspx

Database driven images in ASP.NET GridView
http://isom.uoregon.edu/community/blogs/castner/archive/2007/03/08/Database-driven-images-in-ASP.NET-2-GridView.aspx

Displaying Image in Gridview from Database
http://www.codeproject.com/KB/aspnet/GridImage.aspx
0
 
finnaticAuthor Commented:
Thanks Dhaest;

Still one or two probs... I am using the solution on beansoftware as it most closely resembles my problem.
I am having to convert code to C# though and something is still going wrong.
I am getting an  Incorrect syntax near '=' in an exception helper which is hanging off the line dA.Fill(ds).
I don't know my connection string is wrong maybe. I have tried variations on this to no avail.
Also, the solution says that   "Create a new-page, Viewer.aspx and add a GridView onto it. (This page is linked from the Default.aspx page via lnkView)." I am unsure about the lnkView... Is this a setting I must apply or is it automatic???

Thanks again (nearly there)...
 protected void Page_Load(object sender, EventArgs e)
    {
        
        string strSQL = "SELECT * FROM Iimage WHERE business_id = " + Request.QueryString["business_id"];
        string connString = ConfigurationManager.ConnectionStrings["DatabaseConnectionString1"].ConnectionString;
 
        DataSet dS = new DataSet();
        SqlDataAdapter dA = new SqlDataAdapter(strSQL, connString);
        byte[] arrContent;
        
        dA.Fill(dS);
        DataRow dR;
        dR = dS.Tables[0].Rows[0];
 
        arrContent = (byte[])dR.ItemArray.GetValue(1);
    }

Open in new window

0
 
Tony McCreathTechnical SEO ConsultantCommented:
My guess would be that the query string does not contain a valid value for business_id. e.g. if its missing or blank then you would be creating your invalid sql near =.

Is your table actually called Iimage with the double i?

Once you have this working you may want to look into the issues of 'sql injection'. Your current code will let users alter your sql and maybe do some naughty things.
0
 
finnaticAuthor Commented:
THe spelling is correct on that file Iimages.....
MIght have to put this on hold for now.. I have bigger problems afoot....
Cheers.
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now