Avatar billede smileymans Praktikant
19. april 2007 - 17:51 Der er 4 kommentarer og
1 løsning

Hente bynavn fra SQL database ud fra postnummer i C#

Hejsa..

Jeg har lige lavet en brugeroprettelse på min side hvor man skal indtaste sit postnummer i en textbox og så skulle den selv udfylde bynavn i en label ved siden af..

Problemet er at jeg har ikke rigtigt rodet med databaser fra codebehind endnu og er lidt i tvivl om hvordan man evt. kunne lave den connection så den gør det hurtigt og uden for meget loadingtid for brugeren?

Nogle der har nogle forslag, gerne med noget kode :-)
Avatar billede smileymans Praktikant
19. april 2007 - 17:56 #1
når jeg bruger denne kode får jeg et "null" ud af min connectioninfo som jeg forsøger at hente fra min web.config.

Hvis jeg skriver hele min connectionstring ind i "new sqlconnection(MIN CONNECTIONSTRING)" vil den ikke forbinde til databasen og jeg får en fejl 26. det er jo heller ikke smart at skrive sin connectionstring med kode lige der, men ville se om det virkede.. nu har jeg kigget på tuturials i et par timer og intet jeg finder der kan jeg få til at virke.

Koden:


string ConnectionInfo = ConfigurationSettings.AppSettings["LocalSqlServer"];

        using (SqlConnection MyConnection = new SqlConnection(ConnectionInfo))
        {
            MyConnection.Open();
            SqlCommand GetPostnumberFromDb = new SqlCommand("SELECT CityName FROM City WHERE CityZipcode='" + TB_Postnumber.Text + "'");
            GetPostnumberFromDb.ExecuteNonQuery();
            SqlDataReader CityFromDb = GetPostnumberFromDb.ExecuteReader();
            while (CityFromDb.Read())
            {
                L_CityFromDb.Text = CityFromDb["CityName"].ToString();
            }
            MyConnection.Close();
Avatar billede compilos Nybegynder
19. april 2007 - 21:06 #2
Går det bedre hvis du prøver denne !!

GetPostnumberFromDb.ExecuteReader()  (istedet for ExecuteNonQuery)
Avatar billede smileymans Praktikant
20. april 2007 - 13:39 #3
Ahhh det kan jeg da egentlig godt se nu du siger det :-)

MEn nu siger den at min connectionstring ikke er initialiseret :-(

min kode ser nu sådan ud:

protected void TB_Postnumber_TextChanged(object sender, EventArgs e)
    {
        string ConnectionInfo = ConfigurationSettings.AppSettings["LocalSqlServer"];

        SqlConnection MyConnection = new SqlConnection(ConnectionInfo);
        MyConnection.Open();
        SqlCommand GetPostnumberFromDb = new SqlCommand("SELECT CityName FROM City WHERE CityZipcode='" + TB_Postnumber.Text + "'");
        GetPostnumberFromDb.ExecuteReader();
        SqlDataReader CityFromDb = GetPostnumberFromDb.ExecuteReader();
        while (CityFromDb.Read())
            {
                L_CityFromDb.Text = CityFromDb["CityName"].ToString();
            }
        MyConnection.Close();
  }
Avatar billede smileymans Praktikant
20. april 2007 - 14:24 #4
JEg har også prøvet at skrive connectionstring direkte i sqlconnection parameterne.. samme resultat :-(
Avatar billede smileymans Praktikant
20. april 2007 - 17:12 #5
Jeg har selv fundet problemet. Man skal angive hvilken connection man vil bruge i sin SQLCommand.
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