Avatar billede -slap- Nybegynder
25. april 2006 - 11:42 Der er 21 kommentarer og
1 løsning

et underligt problem

hej jeg sidder med et underligt problem mit problem ligger i at mit program ikke vil ind i min while løkke og jeg kan ikke se hvad problemet er kom med et bud!!

try
        {
            string mycon = ConfigurationManager.AppSettings["nu"];
            string query = "SELECT User FROM usr WHERE User = '"+TextBox1.Text+"'";

            SqlConnection con = new SqlConnection(mycon);
            con.Open();
           
            SqlCommand cmd = new SqlCommand(query, con);
            SqlDataReader rd = cmd.ExecuteReader();
           
            while (rd.Read())
            {   
                ListBox1.Items.Add(rd["User"].ToString());
            }

            rd.Close();
            con.Close();
        }
        catch (SqlException ex)
        {
            MessageBox.Show(ex.Message);
        }
Avatar billede dr_chaos Nybegynder
25. april 2006 - 11:46 #1
prøv med
MessageBox.Show(rd.Count.ToString()
over dit while loop.
Avatar billede dr_chaos Nybegynder
25. april 2006 - 11:46 #2
så kan du se om der rows i dit recordset
Avatar billede bennytordrup Nybegynder
25. april 2006 - 11:49 #3
Virker din forespørgsel i Query Analyzer?

Umiddelbart ville jeg sige, at der ikke kommer nogle poster retur.
Avatar billede bennytordrup Nybegynder
25. april 2006 - 11:49 #4
rd.Count kan ikke bruges til noget, da DataReaderen ikke kender postantallet før alle poster er læst.
Avatar billede dr_chaos Nybegynder
25. april 2006 - 11:55 #5
ah min fejl med
rd.HasRows kan bruges.
Avatar billede -slap- Nybegynder
25. april 2006 - 12:51 #6
dr chaos >>> MessageBox.Show(rd.Count.ToString())kan jeg ikke finde men jeg ved at der er kommer data for hvis jeg skriver denne sql streng "SELECT User FROM usr WHERE USER <> ''" så kan jeg godt få data ud...

bennytordrup >>> ja jeg har tjekket at min query virker så det er ikke der fejlen ligger sådan lige hvad jeg kan se

jeg ved ikke lige om jeg skal sige det men min constreng ligger i en xml fil ikke at det gør det store da jeg har tjekke at det virker...
Avatar billede spif2001 Nybegynder
25. april 2006 - 12:59 #7
Så er det vel det, der kommer ud af TextBox1.Text, der er noget galt med...
Avatar billede spif2001 Nybegynder
25. april 2006 - 13:04 #8
Det hjælper ikke at bruge " istedet:

string query = "SELECT User FROM usr WHERE User = \""+TextBox1.Text+"\"";
Avatar billede bennytordrup Nybegynder
25. april 2006 - 13:05 #9
Har du sat et breakpoint ind og lavet et dump af query, som du så udfører i Query Analyzer? For mig lugter det af, at der bliver indtastet noget, som ikke findes i User i tabellen.
Avatar billede -slap- Nybegynder
25. april 2006 - 13:18 #10
ja de er også den tanke jeg har haft men det jeg får ud hvis jeg udskriver min query er
( SELECT User FROM usr WHERE User = 'phi' ) og jeg ved at phi står i men db
Avatar billede -slap- Nybegynder
25. april 2006 - 13:21 #11
spif2001 >>> hvis jeg bruger \ så får jeg den fejl at det er invalid column name 'phi'(det jeg har indtastet)
Avatar billede bennytordrup Nybegynder
25. april 2006 - 13:24 #12
Har du prøvet at flytte conn.Open() til umiddelbart inden cmd.ExecuteReader()?
Avatar billede -slap- Nybegynder
25. april 2006 - 13:28 #13
det er den ligeglad med der sker ikke noget
Avatar billede bennytordrup Nybegynder
25. april 2006 - 13:28 #14
cmd.CommandType?
Avatar billede dr_chaos Nybegynder
25. april 2006 - 13:34 #15
er user præcist lig med phi eller er phi en del af et navn ?

hvis det er det skal du bruge:
string query = "SELECT User FROM usr WHERE User Like '"+TextBox1.Text+"'";
Avatar billede -slap- Nybegynder
25. april 2006 - 13:35 #16
det er kun phi der er ikke mere end det
Avatar billede bennytordrup Nybegynder
25. april 2006 - 13:36 #17
Husk lige et % i like betingelsen:


string query = "SELECT User FROM usr WHERE User Like '"+TextBox1.Text+"%'";
Avatar billede bennytordrup Nybegynder
25. april 2006 - 13:36 #18
conn.State efter kaldet til conn.Open()?
Avatar billede bennytordrup Nybegynder
25. april 2006 - 13:37 #19
Og det skulle være con og ikke conn.
Avatar billede bennytordrup Nybegynder
25. april 2006 - 13:37 #20
Er rd null, eller er den initialiseret?
Avatar billede -slap- Nybegynder
25. april 2006 - 14:35 #21
nå ved ikke lige hvad der var galt men har fået det til at virke så... ellers tak for hjælpen...
takker alle mange gange
Avatar billede -slap- Nybegynder
02. maj 2006 - 14:01 #22
lukket
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