Solved

c#.NET Create Dynamic SQL statement from info in a URL OnClick

Posted on 2004-09-28
4
250 Views
Last Modified: 2010-04-15
I have two pages:
The first page displays an image, the image is a map of london, I have used an image map to cut up the districts on the map. The idea is that a user clicks a district and go to a new page (page two) containing the areas within that district.
I have a mssql database with the info for the districts/areas setup and working fine.
My current code and SQL query that is performed when a user clicks a district is:

<script language="C#" runat="server">
   void Page_Load(Object sender, EventArgs e)
   {
     
     
        SqlConnection myConnection = new SqlConnection("server=localhost;" +
         "database=ldc;Trusted_Connection=Yes");

      SqlDataAdapter myCommand = new SqlDataAdapter("SELECT * FROM" +
         " MapLocations where district='camden'", myConnection);
     
     
      DataSet ds = new DataSet();
      myCommand.Fill(ds);
     
      MyRepeater.DataSource = ds;
      MyRepeater.DataBind();
   }
</script>

I want to change the SQL query so that it populates district= with the name of the district the user clicked on the previous page.

I tried something along the line of:

SqlDataAdapter myCommand = new SqlDataAdapter("SELECT * FROM" +
         " MapLocations where district=Response.Write([id])", myConnection);

Where id would be passed in the URL   such as  map.aspx?id=OxfordCircus

all the data in the dbase is vchar.

But it fails....is there some easy way of doing this so i dont have to create 30 separate aspx files containing 30 unique sql queries to reflect the 30 different districts in london...?
0
Comment
Question by:HoomanJamshidiNHE
  • 2
4 Comments
 
LVL 15

Expert Comment

by:praneetha
ID: 12174949
change it !Page.IsPostback..

ad when u r passing the id in the url..it is accessed

using Request.QueryString["id"].toString()....now you shoul dbe able to use it

SqlDataAdapter myCommand = new SqlDataAdapter("SELECT * FROM" +
         " MapLocations where district="+Request.querystring["id"].ToString(), myConnection);

<script language="C#" runat="server">
   void Page_Load(Object sender, EventArgs e)
   {
      if(!Page.ispostback) //change that to not postback
{
     
       SqlConnection myConnection = new SqlConnection("server=localhost;" +
         "database=ldc;Trusted_Connection=Yes");

      SqlDataAdapter myCommand = new SqlDataAdapter("SELECT * FROM" +
         " MapLocations where district='camden'", myConnection);
     
     
      DataSet ds = new DataSet();
      myCommand.Fill(ds);
     
      MyRepeater.DataSource = ds;
      MyRepeater.DataBind();
}
   }
</script>
0
 
LVL 5

Expert Comment

by:tomasX2
ID: 12174960
string id = whatever your id is... // don´t think you can get it from response.write.....
string select = "SELECT * FROM MapLocations where district='" + id + "'";
SqlDataAdapter myCommand = new SqlDataAdapter(select , myConnection);
0
 
LVL 5

Accepted Solution

by:
tomasX2 earned 500 total points
ID: 12174972
string id would probably be something like so...


string id = Request["id"].ToString();
string select = "SELECT * FROM MapLocations where district='" + id + "'";
SqlDataAdapter myCommand = new SqlDataAdapter(select , myConnection);
0
 

Author Comment

by:HoomanJamshidiNHE
ID: 12177960
thanks man....that saves me tons of time.
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

We all know that functional code is the leg that any good program stands on when it comes right down to it, however, if your program lacks a good user interface your product may not have the appeal needed to keep your customers happy. This issue can…
Introduction Hi all and welcome to my first article on Experts Exchange. A while ago, someone asked me if i could do some tutorials on object oriented programming. I decided to do them on C#. Now you may ask me, why's that? Well, one of the re…
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

743 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now