C# XML uitlezen óf C# Datagridview uitlezen.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Zerfox
  • Registratie: April 2010
  • Laatst online: 16-06 00:53

Zerfox

^this guy

Topicstarter
Hallo allemaal,
Misschien een vreemde titel, maar toch.
Ik ben bezig met gegevens ophalen uit MySQL in C#.
De MySQL heb ik ingeladen in een DataGridView, en nu wil ik uit 1 specifieke Column iets zoeken.. Maar hoe doe ik dat?

Ik heb er een plaatje bij gemaakt voor de duidelijkheid:

Afbeeldingslocatie: http://i444.photobucket.com/albums/qq162/JuniorJoost/snelgemaakt.png

Legenda:
1=In deze rij moet hij zoeken, dus niet in de id rij.. (wat hij op dit moment doet :S Tenminste, dat denk ik..)
2=Hij zoekt DataX, en wanneer hij die gevonden heeft:
3=Springt hij naar de volgende Column en leest die cell uit, in dit geval dus: 'Harrie.'
Let op: het is even snel gemaakt!




Andere mogelijkheid / vraag:
Waarschijnlijk onveilig, aangezien er usernames en passwords door php worden omgezet naar .xml

Deze xml probeer ik uit te lezen in C# (wat lukt), alleen niet op de manier dat ik wil.
Dit is mijn code tot nu toe:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
        private void button1_Click(object sender, EventArgs e)
        {
            byte[] username_test = System.Text.Encoding.UTF8.GetBytes(textBox1.Text);
            string username = Convert.ToBase64String(username_test);
            string password = Convert.ToBase64String(new System.Security.Cryptography.SHA1CryptoServiceProvider().ComputeHash(Encoding.ASCII.GetBytes(textBox2.Text)));


            XmlDocument doc = new XmlDocument();
            doc.Load("http://-knip-.php");

            XmlNodeList bookList = doc.GetElementsByTagName("entry");

            foreach (XmlNode node in bookList)
            {

                XmlElement bookElement = (XmlElement)node;

                string title = bookElement.GetElementsByTagName("user")[0].InnerText;
                string author = bookElement.GetElementsByTagName("pass")[0].InnerText;


                if (title.Contains(username) == true)
                {
                    if (author.Equals(password) == true)
                    {
                        MessageBox.Show("Ingelogd!");
                    }
                    else
                    {
                        MessageBox.Show("Your password is incorrect");
                    }
                }
                else
                {
                    MessageBox.Show("Your username is incorrect");
                }

                break;
            }


Ik wil zoeken in de xml, naar een username, en als die bestaat wil ik kijken of het wachtwoord overeenkomt met de ingevulde.




Alvast bedankt,
ZaroX

P.S. Ik ben nieuw op dit forum, hopelijk staat het in de juiste categorie.

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:53

Haan

dotnetter

Ik probeer te snappen wat je nu precies wil..

Klopt het dat je op twee manieren hetzelfde probeert te bereiken? Dus ofwel data inlezen in een datagrid, en daar de gewenste (inlog?)data uithalen, of hetzelfde, maar dan via xml? In dat geval lijkt het me onhandig om een datagrid te gebruiken, omdat dat gebruikt wordt voor het tonen van data. Met inloggegevens lijkt me dat niet zo'n verstandige keuze ;)

In je codevoorbeeld snap ik niet zo goed wat boeken/auteurs met usernames/passwords te maken hebben..

o en welkom @ GoT :)

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Zerfox
  • Registratie: April 2010
  • Laatst online: 16-06 00:53

Zerfox

^this guy

Topicstarter
Danke @ welkom.

Ik probeer inderdaad met de 2 codes hetzelfde te bereiken.
Auteurs en boeken hebben er inderdaad niets mee te maken, maar dit heb ik letterlijk overgenomen van een tutorial.. :$

Als ik beter geen datagridview kan gebruiken, hoe kan ik dan uit MySQL deze gegevens lezen? :o

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 20:53

Haan

dotnetter

ZaroX schreef op zaterdag 10 april 2010 @ 11:01:
Als ik beter geen datagridview kan gebruiken, hoe kan ik dan uit MySQL deze gegevens lezen? :o
Je leest ze nu toch ook al in als XML?

Maar anders moet je gewoon met een SQL query direct de benodigde gegevens uit de database halen. Ik heb verder nooit MySql gebruikt, maar met iets als
SQL:
1
2
3
SELECT password
FROM table
WHERE user = 'Kees'

moet je toch de gewenste gegevens op kunnen halen.

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Als je gebruik wilt maken van ADO.NET dan moet je eens kijken naar System.Data.DataTable en System.Data.DataSet en aanverwanten.

Je kunt ook overwegen een O/R mapper te gebruiken voor je database communicatie, vind ik persoonlijk fijner dan ADO.NET.

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

Verwijderd

om een cell uit te lezen kan je gewoon zoiets doen :

code:
1
DataGridView1.Rows[DataGridView.SelectedRows[0].Index].Cells[X].Value

Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
Grijze Vos schreef op zaterdag 10 april 2010 @ 12:00:
Als je gebruik wilt maken van ADO.NET dan moet je eens kijken naar System.Data.DataTable en System.Data.DataSet en aanverwanten.
Idd, en daar je controls aan binden. Die datasets e.d. bieden veel meer mogelijkheden om te filteren en te zoeken enzo.

Meer info:
http://msdn.microsoft.com/en-us/library/fbk67b6z.aspx

https://niels.nu


Acties:
  • 0 Henk 'm!

  • HMS
  • Registratie: Januari 2004
  • Laatst online: 21-08 23:06

HMS

Je zou ook XML parsing met LINQ to XML kunnen doen. Scheelt misschien aanzienlijk wat code en is ook duidelijker (IMO!) :)

edit:

Ik reageer te snel, maar goed. Ik weet niet hoe je je DAL hebt geimplementeerd, maar anders gewoon wat SQL / LINQ en het moet ook wel goed werkend te krijgen zijn ;).

[ Voor 42% gewijzigd door HMS op 12-04-2010 11:24 ]

Pagina: 1