Solved

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

Posted on 2004-09-28
4
256 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

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Install Problem 13 29
Best resource to learn entity framework 2 32
2 questions 10 25
how to check to see if datatable has headers or not 2 27
In order to hide the "ugly" records selectors (triangles) in the rowheaders, here are some suggestions. Microsoft doesn't have a direct method/property to do it. You can only hide the rowheader column. First solution, the easy way The first sol…
This article introduced a TextBox that supports transparent background.   Introduction TextBox is the most widely used control component in GUI design. Most GUI controls do not support transparent background and more or less do not have the…
This Micro Tutorial hows how you can integrate  Mac OSX to a Windows Active Directory Domain. Apple has made it easy to allow users to bind their macs to a windows domain with relative ease. The following video show how to bind OSX Mavericks to …
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

776 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