Porovnání zadaného čísla s ID v MySql – .NET – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Porovnání zadaného čísla s ID v MySql – .NET – Fórum – Programujte.comPorovnání zadaného čísla s ID v MySql – .NET – Fórum – Programujte.com

 

Hledá se programátor! Plat 1 800 € + bonusy (firma Boxmol.com)
Flouwie
~ Anonymní uživatel
18 příspěvků
23. 5. 2012   #1
-
0
-

 Ahoj, potřebuji porovnat zadané číslo s ID v databázi MySql... Po zadání ID do tewxtboxu a kliknutí na tlač. přihlásit se odešlě příkaz do MySql kde to vyhledá jméno pod tím ID... Ale když zadám nějaké ID pokaždé to napíše chyba, ale když nezadám vůbec nic, tak to vypíše, že jsem se přihlásil... chyba bude myslím někde ve for a v podmínce if...

           MySqlConnection conn = new MySqlConnection(MyConString);
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataReader read;
            string id = textBox1.Text;
            string prijmeni = textBox2.Text;
            string vek = textBox3.Text;
            string text = "";

            conn.Open();

            cmd.CommandText = "SELECT jmeno FROM uzivatele WHERE id_uzivatele='"+id+"'";
            cmd.Connection = conn;
            read = cmd.ExecuteReader();
            
            while (read.Read())
            {
                for (int i = 0; i < read.FieldCount; i++)
                {
                    text = read.ToString();
                }
            }
            
            if (id == text)
            {
                MessageBox.Show("Byl jste úspěšně přihlášen!");
            }
            else
            {
                MessageBox.Show("Chyba");
            } 
Nahlásit jako SPAM
IP: 88.102.52.–
Reklama
Reklama
liborb
~ Redaktor
+18
Guru
23. 5. 2012   #2
-
0
-

jjj chová se to správně. Když zadáš nějaké ID, tak ti to najde jmeno (viz SQL příkaz), které pak porovnáváš s ID, což se nebude nikdy shodovat, takže Chyba. Když nezadáš nic, tak to taky nic najde a nic se nicu rovná (nic je v tomto případě prázdný řetězec), takže proto si Byl úspěšně přihlášen.

Neporovnávej jméno a ID.

Nahlásit jako SPAM
IP: 78.80.52.–
Flouwie
~ Anonymní uživatel
18 příspěvků
23. 5. 2012   #3
-
0
-

šrotuje mi to šrotuje, ale nějak ze mě nic neleze... jak bych to měl tedy udělat? :/

Nahlásit jako SPAM
IP: 88.102.52.–
Flouwie
~ Anonymní uživatel
18 příspěvků
23. 5. 2012   #4
-
0
-

¨´uúúúž to mám :D :)

Nahlásit jako SPAM
IP: 88.102.52.–
Flouwie
~ Anonymní uživatel
18 příspěvků
23. 5. 2012   #5
-
0
-

tak mám ještě jeden zádrhel :D když porovnávám ID (jméno) zároveň s příjmením tak mi to chybu neukáže nikdy pokud se tam alespoň jedna věc nalézá... jak mám udělat aby to bralo pouze jméno a příjmení pouze v jednom řádku a né jestli se tam ty dvě věci ktere se tam zadávají jsou v celé tabluce?

            MySqlConnection conn = new MySqlConnection(MyConString);
            MySqlCommand cmd = new MySqlCommand();
            MySqlDataReader read;
            string id = textBox4.Text;
            string prijmeni = textBox5.Text;
            string textid = "";
            string textpr = "";
            string bla1;
            string bla2;
            
            conn.Open();

            cmd.CommandText = "SELECT jmeno FROM uzivatele WHERE id_uzivatele='"+id+"'";
            cmd.Connection = conn;
            read = cmd.ExecuteReader();
            
            while (read.Read())
            {
                for (int i = 0; i < read.FieldCount; i++)
                {
                    textid += read.GetValue(i).ToString();
                    listBox1.Items.Add(textid);
                    id = textid;
                }
            }
            bla1 = textid;
            conn.Close();
            
            conn.Open();
            cmd.CommandText = "SELECT prijmeni FROM uzivatele WHERE prijmeni='"+prijmeni+"'";
            cmd.Connection = conn;
            read = cmd.ExecuteReader();

            while (read.Read())
            {
                for (int i = 0; i < read.FieldCount; i++)
                {
                    textpr += read.GetValue(i).ToString();
                    listBox1.Items.Add(textpr);
                }
            }
            bla2 = textpr;
            conn.Close();
            
            if (id == bla1 && prijmeni == textpr)
            {
                MessageBox.Show("Byl jste úspěšně přihlášen jako: "+textid+"");
            }
            else
            {
                MessageBox.Show("Chyba");
            } 
Nahlásit jako SPAM
IP: 88.102.52.–
Flouwie
~ Anonymní uživatel
18 příspěvků
23. 5. 2012   #6
-
0
-

to bla1 a 2 mám asi navíc ;) :D

Nahlásit jako SPAM
IP: 88.102.52.–
liborb
~ Redaktor
+18
Guru
23. 5. 2012   #7
-
0
-

Trochu mi uniká smysl tvého snažení. Ty chceš udělat něco jako login? Tj. takové to klasické přihlášení jménem a heslem? Nebo to má hlubší smysl?

Nahlásit jako SPAM
IP: 78.80.52.–
Flouwie
~ Anonymní uživatel
18 příspěvků
23. 5. 2012   #8
-
0
-

asi jsem se už do toho totálně zamotal... ano, chci udělat něco jako login... akorát na ID a Příjmení...

Nahlásit jako SPAM
IP: 88.102.52.–
liborb
~ Redaktor
+18
Guru
23. 5. 2012   #9
-
0
-

   

"SELECT jmeno FROM uzivatele WHERE id_uzivatele='"+id+"' AND prijmeni='"+prijmeni+"'";
Nahlásit jako SPAM
IP: 78.80.52.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 280 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý