Avatar billede 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!
Avatar billede dr_chaos Nybegynder
16. februar 2006 - 11:42 #1
brug
string intOmraade = Omraade.SelectedValue;

eller
char[] intOmraade = Convert.ToCharArray(Omraade.SelectedValue);
Avatar billede 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'
Avatar billede dr_chaos Nybegynder
16. februar 2006 - 13:27 #3
så char[] intOmraade = Omraade.SelectedValue.ToCharArray();
Avatar billede 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 + "'";
    }
Avatar billede dr_chaos Nybegynder
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");

}
Avatar billede 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"/>
Avatar billede Slettet bruger
16. februar 2006 - 14:10 #7
</form>
Avatar billede 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);
Avatar billede dr_chaos Nybegynder
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>
Avatar billede 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);

:-\
Avatar billede dr_chaos Nybegynder
16. februar 2006 - 16:15 #11
prøv at tjekke hvad værdi du får i Storrelse.SelectedValue
Avatar billede 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 :-/
Avatar billede Slettet bruger
20. februar 2006 - 10:23 #13
Smid et svar, så fortsætter jeg dette i et nyt spørgsmål...
Avatar billede dr_chaos Nybegynder
20. februar 2006 - 10:34 #14
svar
Avatar billede Slettet bruger
20. februar 2006 - 10:36 #15
Værs'go! ;-)
Avatar billede dr_chaos Nybegynder
20. februar 2006 - 11:24 #16
tak :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester