Slettet bruger
20. februar 2006 - 10:36
Der er
3 kommentarer og 1 løsning
Søgefunktion - finder alt eller ingenting!
Som overskriften siger er sådan en søgemaskine ubruglig! Jeg smider lige scriptet her: (Bemærk! Både script og form er vedlagt) void Soeg(Object Sender, EventArgs E) { string strOnline, strTest, strOmraade, strStorrelse, strSovepladser, strSoverum, strStrandafstand, strHusdyr, strPool, strTV, strKoerestol, strSoegesql; string sqlOmraade, sqlStorrelse, sqlSovepladser, sqlSoverum; int intOmraade, intStorrelse, intSovepladser, intSoverum; intOmraade = int.Parse(Omraade.SelectedValue); intStorrelse = int.Parse(Storrelse.SelectedValue); intSovepladser = int.Parse(Sovepladser.SelectedValue); intSoverum = int.Parse(Soverum.SelectedValue); strOmraade = Omraade.SelectedValue.ToString(); strStorrelse = Storrelse.SelectedValue.ToString(); strSovepladser = Sovepladser.SelectedValue.ToString(); strSoverum = Soverum.SelectedValue.ToString(); if (intOmraade > 0) { sqlOmraade = " AND omraade LIKE " + strOmraade + ""; } else { sqlOmraade = "" ; } if (intStorrelse > 0) { sqlStorrelse = " AND storrelse LIKE " + strStorrelse + ""; } else { sqlStorrelse = "" ; } if (intSovepladser > 0) { sqlSovepladser = " AND sovepladser LIKE " + strSovepladser + ""; } else { sqlSovepladser = "" ; } if (intSoverum > 0) { sqlSoverum = " AND soverum LIKE " + strSoverum + ""; } else { sqlSoverum = "" ; } if (cbHusdyr.Checked) { strHusdyr = " AND husdyr LIKE 'ja' "; } else { strHusdyr = ""; } if (cbPool.Checked) { strPool = " AND swimmingpool LIKE 'ja' "; } else { strPool = ""; } if (cbTV.Checked) { strTV = " AND tv LIKE 'ja' "; } else { strTV = ""; } if (cbKoerestol.Checked) { strKoerestol = " AND korestolsegnet LIKE 'ja' "; } else { strKoerestol = ""; } if (cbStrandafstand.Checked) { strStrandafstand = " AND korestolsegnet LIKE 'ja' "; } else { strStrandafstand = ""; } strSoegesql = "Select * FROM huse WHERE Aktiv='ja' " + sqlOmraade + sqlStorrelse + sqlSovepladser + sqlSoverum + strStrandafstand + strPool + strKoerestol + strHusdyr + strTV; Session["SQLsoeg"] = strSoegesql; Response.Redirect("sommerhuse.aspx"); } </script> <html> <head> <title>Søgefunktion</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <form runat="server"> <table width="320" border="0" cellspacing="0" cellpadding="0"> <tr> <td colspan="2" bgcolor="#F5F5F5"><asp:DropDownList ID="Omraade" runat="server" Width="115" DataTextField="OmraadeNavn" DataValueField="Id" /> </td> </tr> <tr> <td bgcolor="#F5F5F5" width="115"> <asp:ListBox ID="Storrelse" Rows="1" runat="server" Width="115"> <asp:ListItem value="-1">Vælg størrelse</asp:ListItem> <asp:ListItem value="0">Ikke angivet </asp:ListItem> <asp:ListItem value="50">50 m2 </asp:ListItem> <asp:ListItem value="60">60 m2 </asp:ListItem> <asp:ListItem value="70">70 m2 </asp:ListItem> <asp:ListItem value="80">80 m2 </asp:ListItem> <asp:ListItem value="90">90 m2 </asp:ListItem> <asp:ListItem value="100">100 m2 - </asp:ListItem> asp:ListBox> </td> <td bgcolor="#F5F5F5" width="115"> <asp:ListBox ID="Sovepladser" Rows="1" runat="server" Width="115"> <asp:ListItem value="-1">Vælg sovepladser</asp:ListItem> <asp:ListItem value="0">Ikke angivet </asp:ListItem> <asp:ListItem value="1">1 </asp:ListItem> <asp:ListItem value="2">2 </asp:ListItem> <asp:ListItem value="3">3 </asp:ListItem> <asp:ListItem value="4">4 </asp:ListItem> <asp:ListItem value="5">5 </asp:ListItem> <asp:ListItem value="6">6 </asp:ListItem> <asp:ListItem value="7">7 </asp:ListItem> <asp:ListItem value="8">8 </asp:ListItem> <asp:ListItem value="9">9 </asp:ListItem> <asp:ListItem value="10">10 - </asp:ListItem> </asp:ListBox></td> </tr> <tr> <td bgcolor="#F5F5F5" width="115"> <asp:ListBox ID="Soverum" Rows="1" runat="server" Width="115"> <asp:ListItem value="-1">Vælg soverum</asp:ListItem> <asp:ListItem value="0">Ikke angivet </asp:ListItem> <asp:ListItem value="1">1 </asp:ListItem> <asp:ListItem value="2">2 </asp:ListItem> <asp:ListItem value="3">3 </asp:ListItem> <asp:ListItem value="4">4 </asp:ListItem> <asp:ListItem value="5">5 </asp:ListItem> <asp:ListItem value="6">6 </asp:ListItem> <asp:ListItem value="7">7 - </asp:ListItem> </asp:ListBox></td> <td bgcolor="#F5F5F5" width="115"><asp:CheckBox ID="cbHusdyr" runat="server" Text="Husdyr" /></td> </tr> <tr> <td bgcolor="#F5F5F5" width="115"><asp:CheckBox ID="cbPool" runat="server" Text="Swimmingpool" /></td> <td bgcolor="#F5F5F5" width="115"><asp:CheckBox ID="cbKoerestol" runat="server" Text="Kørestolsegnet" /></td> </tr> <tr> <td bgcolor="#F5F5F5" width="115"><asp:CheckBox ID="cbStrandafstand" runat="server" Text="Strandafstand under 1000m" /></td> <td bgcolor="#F5F5F5" width="115"><asp:CheckBox ID="cbTV" runat="server" Text="TV" /> </td> </tr> <tr> <td bgcolor="#F5F5F5" width="115"><asp:Button ID="btSoeg" Width="115" runat="server" Text="Søg sommerhus" OnClick="Soeg"/></td> <td bgcolor="#F5F5F5" width="115"> </td> </tr> </form> </body> </html>
Annonceindlæg tema
Forsvar & beredskab
Cybersikkerhed, realtidsdata og robuste it-systemer er blevet fundamentet for moderne forsvar.
21. februar 2006 - 14:05
#1
Hej. Prøv at vise os en af de opbyggede SQL strenge. Der må være en fejl i den streng. Og en helt anden ting, hvorfor skriver du LIKE i dine strenge? Er du ikke sikker på at dine tekster vil matche en hel linie? Du kan nemlig bruge = Venlig hilsen, Martin.
Slettet bruger
21. februar 2006 - 14:11
#2
Det viste script er et havlfærdigt projekt jeg som praktikant i et reklamebureau har overtaget er nu ved at lægge sidste hånd på! Derfor kan det være lidt svært at svare hvorfor der er brugt det ene og ikke noget andet osv. ;-) Er det " AND omraade LIKE " du mener bare kan udskiftes med = ?
21. februar 2006 - 14:15
#3
Hej. AND soverum LIKE " + strSoverum + "" Er MÅSKE det samme som AND soverum = " + strSoverum + "" Det kommer dog lidt an på hvordan dine data ser ud i databasen. Kan du ikke imellem disse to linier udskrive din SQL strengs værdi? strSoegesql = "Select * FROM huse WHERE Aktiv='ja' " + sqlOmraade + sqlStorrelse + sqlSovepladser + sqlSoverum + strStrandafstand + strPool + strKoerestol + strHusdyr + strTV; UDSKRIV HER... Session["SQLsoeg"] = strSoegesql;
Slettet bruger
17. marts 2006 - 14:14
#4
Fandt ud af det selv... <%@ Page Language="C#" ContentType="text/html" ResponseEncoding="iso-8859-1" debug="true" %> <%@ import namespace="System.Data"%> <%@ import namespace="System.Data.OleDb"%> <script runat="server"> void Page_Load(Object Sender, EventArgs E) { if (!IsPostBack) { OleDbDataReader dbUdvalgteReader, dbSenesteReader, dbOmraaderReader; OleDbConnection dbConn; OleDbCommand dbCmd; dbConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("database/ns.mdb")+";"); dbConn.Open(); dbCmd = new OleDbCommand(); dbCmd.CommandText = "SELECT [Omraade], [Id] FROM omraader ORDER BY omraade;"; dbCmd.Connection = dbConn; dbOmraaderReader = dbCmd.ExecuteReader(CommandBehavior.CloseConnection); Omraade.Items.Add(new ListItem("Vælg område", "")); while (dbOmraaderReader.Read()) { Omraade.Items.Add(new ListItem(dbOmraaderReader.GetString(0), dbOmraaderReader.GetString(0))); } dbOmraaderReader.Close(); dbConn.Close(); } } void Soeg(Object Sender, EventArgs E) { string strOnline, strTest, strOmraade, strStorrelse, strSovepladser, strSoverum, strStrandafstand, strHusdyr, strPool, strTV, strKoerestol, strSoegesql; string sqlOmraade, sqlStorrelse, sqlSovepladser, sqlSoverum; int intOmraade, intStorrelse, intSovepladser, intSoverum; intStorrelse = int.Parse(Storrelse.SelectedValue); intSovepladser = int.Parse(Sovepladser.SelectedValue); intSoverum = int.Parse(Soverum.SelectedValue); strOmraade = Omraade.SelectedValue.ToString(); strStorrelse = Storrelse.SelectedValue.ToString(); strSovepladser = Sovepladser.SelectedValue.ToString(); strSoverum = Soverum.SelectedValue.ToString(); strSoegesql = "Select * FROM huse WHERE Aktiv='ja' "; if (!(strOmraade == "")) { strSoegesql = strSoegesql + " AND omraade LIKE '" + strOmraade + "'"; } if (intStorrelse > 0) { strSoegesql = strSoegesql + " AND storrelse='" + strStorrelse + "'"; } if (intSovepladser > 0) { strSoegesql = strSoegesql + " AND sovepladser='" + strSovepladser + "'"; } if (intSoverum > 0) { strSoegesql = strSoegesql + " AND soverum='" + strSoverum + "'"; } if (cbHusdyr.Checked) { strSoegesql = strSoegesql + " AND husdyr='ja' "; } if (cbPool.Checked) { strSoegesql = strSoegesql + " AND swimmingpool='ja' "; } if (cbTV.Checked) { strSoegesql = strSoegesql + " AND tv='ja' "; } if (cbKoerestol.Checked) { strSoegesql = strSoegesql + " AND korestolsegnet='ja' "; } Session["SQLsoeg"] = strSoegesql; //Response.Write(strSoegesql); Response.Redirect("sommerhuse2.aspx"); } </script> <html> <head> <title>Søgefunktion</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <form runat="server"> <table width="320" border="1" cellspacing="0" cellpadding="0"> <tr> <td colspan="2" bgcolor="#F5F5F5"><asp:DropDownList ID="Omraade" runat="server" Width="115" DataTextField="OmraadeNavn" DataValueField="Id" /></td> </tr> <tr> <td bgcolor="#F5F5F5" width="115"> <asp:ListBox ID="Storrelse" Rows="1" runat="server" Width="115"> <asp:ListItem value="-1">Vælg størrelse</asp:ListItem> <asp:ListItem value="0">Ikke angivet </asp:ListItem> <asp:ListItem value="50">50 m2 </asp:ListItem> <asp:ListItem value="60">60 m2 </asp:ListItem> <asp:ListItem value="70">70 m2 </asp:ListItem> <asp:ListItem value="80">80 m2 </asp:ListItem> <asp:ListItem value="90">90 m2 </asp:ListItem> <asp:ListItem value="100">100 m2 - </asp:ListItem> </asp:ListBox></td> <td bgcolor="#F5F5F5" width="115"> <asp:ListBox ID="Sovepladser" Rows="1" runat="server" Width="115"> <asp:ListItem value="-1">Vælg sovepladser</asp:ListItem> <asp:ListItem value="0">Ikke angivet </asp:ListItem> <asp:ListItem value="1">1 </asp:ListItem> <asp:ListItem value="2">2 </asp:ListItem> <asp:ListItem value="3">3 </asp:ListItem> <asp:ListItem value="4">4 </asp:ListItem> <asp:ListItem value="5">5 </asp:ListItem> <asp:ListItem value="6">6 </asp:ListItem> <asp:ListItem value="7">7 </asp:ListItem> <asp:ListItem value="8">8 </asp:ListItem> <asp:ListItem value="9">9 </asp:ListItem> <asp:ListItem value="10">10 - </asp:ListItem> </asp:ListBox></td> </tr> <tr> <td bgcolor="#F5F5F5" width="115"> <asp:ListBox ID="Soverum" Rows="1" runat="server" Width="115"> <asp:ListItem value="-1">Vælg soverum</asp:ListItem> <asp:ListItem value="0">Ikke angivet </asp:ListItem> <asp:ListItem value="1">1 </asp:ListItem> <asp:ListItem value="2">2 </asp:ListItem> <asp:ListItem value="3">3 </asp:ListItem> <asp:ListItem value="4">4 </asp:ListItem> <asp:ListItem value="5">5 </asp:ListItem> <asp:ListItem value="6">6 </asp:ListItem> <asp:ListItem value="7">7 - </asp:ListItem> </asp:ListBox></td> <td bgcolor="#F5F5F5" width="115"><asp:CheckBox ID="cbHusdyr" runat="server" Text="Husdyr" /></td> </tr> <tr> <td bgcolor="#F5F5F5" width="115"><asp:CheckBox ID="cbPool" runat="server" Text="Swimmingpool" /></td> <td bgcolor="#F5F5F5" width="115"><asp:CheckBox ID="cbKoerestol" runat="server" Text="Kørestolsegnet" /></td> </tr> <tr> <td bgcolor="#F5F5F5" width="115"><asp:CheckBox ID="cbStrandafstand" runat="server" Text="Strandafstand under 1000m" /></td> <td bgcolor="#F5F5F5" width="115"><asp:CheckBox ID="cbTV" runat="server" Text="TV" /> </td> </tr> <tr> <td bgcolor="#F5F5F5" width="115"><asp:Button ID="btSoeg" Width="115" runat="server" Text="Søg sommerhus" OnClick="Soeg"/></td> <td bgcolor="#F5F5F5" width="115"> </td> </tr> </table> </form> </body> </html>
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.