Slettet bruger
16. februar 2006 - 11:04
Der er
15 kommentarer og 1 løsning
Convert.ToChar - flere tegn?
Jeg bruger denne konvertering til at converte både tal og bogstaver! intOmraade = Convert.ToChar(Omraade.SelectedValue); Giver denne fejlmeddelse. System.FormatException: Strengen må kun være ét tegn lang. Mit spørgsmål er om jeg er nødt til lave vædierne om i "Omraade" eller der findes en converter som acceptere både flere tegn bestående af tal og bogstaver!
Annonceindlæg fra Context&
16. februar 2006 - 11:42
#1
brug string intOmraade = Omraade.SelectedValue; eller char[] intOmraade = Convert.ToCharArray(Omraade.SelectedValue);
Slettet bruger
16. februar 2006 - 13:25
#2
Prøvede den nederste løsning, men fik en "wierd" fejlmeddelse: CS0117: 'System.Convert' indeholder ikke en definition af 'ToCharArray'
16. februar 2006 - 13:27
#3
så char[] intOmraade = Omraade.SelectedValue.ToCharArray();
Slettet bruger
16. februar 2006 - 13:40
#4
Hm - må vist hellere vise hele scriptet :-/ void Soeg(Object Sender, EventArgs E) { string strOnline, strTest, strOmraade, strStorrelse, strSovepladser, strSoverum, strStrandafstand, strHusdyr, strPool, strTV, strKoerestol, strSoegesql; string sqlOmraade, sqlStorrelse, sqlSovepladser, sqlSoverum, sqlStrandafstand; char[] intOmraade, intStorrelse, intSovepladser, intSoverum, intStrandafstand; intOmraade = Omraade.SelectedValue.ToCharArray(); intStorrelse = Storrelse.SelectedValue.ToCharArray(); intSovepladser = Sovepladser.SelectedValue.ToCharArray(); intSoverom = Soverum.SelectedValue.ToCharArray(); intStrandafstand = Strandafstend.SelectedValue.ToCharArray(); strOmraade = Omraade.SelectedValue.ToString(); strStorrelse = Storrelse.SelectedValue.ToString(); strSovepladser = Sovepladser.SelectedValue.ToString(); strSoverum = Soverum.SelectedValue.ToString(); strStrandafstand = Strandafstand.SelectedValue.ToString(); if (intOmraade > 0) { sqlOmraade = " and omraade like '" + strOmraade + "'"; } else { sqlOmraade = "" ; } if (intStorrelse > 1) { 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 (intStrandafstand > 0) { sqlStrandafstand = " and strandafstand like '" + strStrandafstand + "'"; } else { sqlStrandafstand = "" ; } 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 = ""; } strSoegesql = "Select * FROM huse WHERE Aktiv like 'ja' " + sqlOmraade + sqlStorrelse + sqlSovepladser + sqlSoverum + sqlStrandafstand + strPool + strKoerestol + strHusdyr + strTV; Response.Write(strSoegesql); Session["SQLsoeg"] = strSoegesql; Response.Redirect("sommerhuse.aspx"); } Dette er min fejlmeddelse: CS0019: Operatoren '>' kan ikke anvendes med operander af typerne 'char[]' og 'int' Her påstår den at fejlen ligger: if (intOmraade > 0) { sqlOmraade = " and omraade like '" + strOmraade + "'"; }
16. februar 2006 - 13:45
#5
brug: void Soeg(Object Sender, EventArgs E) { string strOnline, strTest, strOmraade, strStorrelse, strSovepladser, strSoverum, strStrandafstand, strHusdyr, strPool, strTV, strKoerestol, strSoegesql; string sqlOmraade, sqlStorrelse, sqlSovepladser, sqlSoverum, sqlStrandafstand; int intOmraade, intStorrelse, intSovepladser, intSoverum, intStrandafstand; intOmraade = int.Parse(Omraade.SelectedValue); intStorrelse = int.Parse(Storrelse.SelectedValue); intSovepladser = int.Parse(Sovepladser.SelectedValue); intSoverom = int.Parse(Soverum.SelectedValue); intStrandafstand = int.Parse(Strandafstend.SelectedValue); strOmraade = Omraade.SelectedValue; strStorrelse = Storrelse.SelectedValue; strSovepladser = Sovepladser.SelectedValue; strSoverum = Soverum.SelectedValue; strStrandafstand = Strandafstand.SelectedValue; if (intOmraade > 0) { sqlOmraade = " and omraade like '" + strOmraade + "'"; } else { sqlOmraade = "" ; } if (intStorrelse > 1) { 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 (intStrandafstand > 0) { sqlStrandafstand = " and strandafstand like '" + strStrandafstand + "'"; } else { sqlStrandafstand = "" ; } 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 = ""; } strSoegesql = "Select * FROM huse WHERE Aktiv like 'ja' " + sqlOmraade + sqlStorrelse + sqlSovepladser + sqlSoverum + sqlStrandafstand + strPool + strKoerestol + strHusdyr + strTV; Response.Write(strSoegesql); Session["SQLsoeg"] = strSoegesql; Response.Redirect("sommerhuse.aspx"); }
Slettet bruger
16. februar 2006 - 14:10
#6
Ny fejlmeddelse: System.FormatException: Inputstrengen var ikke i et korrekt format. Får lige formen også: <form runat="server"> <asp:DropDownList ID="Omraade" runat="server" Width="115" DataTextField="OmraadeNavn" DataValueField="Id" /> <asp:ListBox ID="Storrelse" Rows="1" runat="server" Width="115"> <asp:ListItem>Vælg størrelse</asp:ListItem> <asp:ListItem>Ikke angivet </asp:ListItem> <asp:ListItem>50 m2 </asp:ListItem> <asp:ListItem>60 m2 </asp:ListItem> <asp:ListItem>70 m2 </asp:ListItem> <asp:ListItem>80 m2 </asp:ListItem> <asp:ListItem>90 m2 </asp:ListItem> <asp:ListItem>100 m2 - </asp:ListItem> </asp:ListBox> <asp:ListBox ID="Sovepladser" Rows="1" runat="server" Width="115"> <asp:ListItem>Vælg sovepladser</asp:ListItem> <asp:ListItem>Ikke angivet </asp:ListItem> <asp:ListItem>1 </asp:ListItem> <asp:ListItem>2 </asp:ListItem> <asp:ListItem>3 </asp:ListItem> <asp:ListItem>4 </asp:ListItem> <asp:ListItem>5 </asp:ListItem> <asp:ListItem>6 </asp:ListItem> <asp:ListItem>7 </asp:ListItem> <asp:ListItem>8 </asp:ListItem> <asp:ListItem>9 </asp:ListItem> <asp:ListItem>10 - </asp:ListItem> </asp:ListBox> <asp:ListBox ID="Soverum" Rows="1" runat="server" Width="115"> <asp:ListItem>Vælg soverum</asp:ListItem> <asp:ListItem>Ikke angivet</asp:ListItem> <asp:ListItem>1 </asp:ListItem> <asp:ListItem>2 </asp:ListItem> <asp:ListItem>3 </asp:ListItem> <asp:ListItem>4 </asp:ListItem> <asp:ListItem>5 </asp:ListItem> <asp:ListItem>6 </asp:ListItem> <asp:ListItem>7 - </asp:ListItem> </asp:ListBox> <asp:ListBox ID="Strandafstand" Rows="1" runat="server" Width="115"> <asp:ListItem>Vælg strandafstand</asp:ListItem> <asp:ListItem>Ikke angivet </asp:ListItem> <asp:ListItem>100 m </asp:ListItem> <asp:ListItem>700 m </asp:ListItem> <asp:ListItem>1000 m </asp:ListItem> <asp:ListItem>1500 m </asp:ListItem> <asp:ListItem>2000 m - </asp:ListItem> </asp:ListBox> <asp:CheckBox ID="cbPool" runat="server" Text="Swimmingpool" /> <asp:CheckBox ID="cbKoerestol" runat="server" Text="Kørestolsegnet" /> <asp:CheckBox ID="cbHusdyr" runat="server" Text="Husdyr" /> <asp:CheckBox ID="cbTV" runat="server" Text="TV" /> <asp:Button ID="btSoeg" Width="115" runat="server" Text="Søg sommerhus" OnClick="Soeg"/>
Slettet bruger
16. februar 2006 - 14:10
#7
</form>
Slettet bruger
16. februar 2006 - 14:15
#8
Glemte at sige hvilken linie som udløser fejlmeddelsen, her er den: intStorrelse = int.Parse(Storrelse.SelectedValue);
16. februar 2006 - 14:21
#9
lav dine listbokse om til: <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>
Slettet bruger
16. februar 2006 - 14:50
#10
Samme fejlmeddelse System.FormatException: Inputstrengen var ikke i et korrekt format Samme linie intStorrelse = int.Parse(Storrelse.SelectedValue); :-\
16. februar 2006 - 16:15
#11
prøv at tjekke hvad værdi du får i Storrelse.SelectedValue
Slettet bruger
17. februar 2006 - 09:51
#12
Skidtet virker! dvs. der kommer ingen fejlmeddelse, men den finder heller ikke frem til noget i databasen :-/
Slettet bruger
20. februar 2006 - 10:23
#13
Smid et svar, så fortsætter jeg dette i et nyt spørgsmål...
20. februar 2006 - 10:34
#14
svar
Slettet bruger
20. februar 2006 - 10:36
#15
Værs'go! ;-)
20. februar 2006 - 11:24
#16
tak :)
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.