Avatar billede jkampmann Nybegynder
10. december 2007 - 17:19 Der er 12 kommentarer og
1 løsning

MySQL insert, update, check og delete

Hejsa. Jeg har fundet en kode som opretter forbindelse til min MySQL-server på mit ASP.NET 2 webhotel.

Problemet er bare, jeg sagtens kan indsætte til MySQL.

Men hvordan skal den se ud, hvis jeg skal tjekke om f.eks Brugernavn.Text eksisterer i tabellen - via en if-sætning?

Bruger følgende lige nu. Hvis den kan gøres simplere så må du MEGET gerne skrive..

----
Bruger følgende i toppen:
using System.Data.Odbc;

----

OdbcConnection con = new OdbcConnection();

String mysql = "driver={MySql};server=mysql4.unoeuro.com;database=****;uid=****;pwd=*****;OPTION=3";

con.ConnectionString = mysql;
con.Open();

OdbcCommand cmd = new OdbcCommand();

cmd.CommandText = "SELECT * FROM medier";
cmd.Connection = con;

OdbcDataReader reader = cmd.ExecuteReader();

---

Også skulle jeg kunne benytte cmd[0] f.eks.

Jeg er totalt noob indenfor ASP.NET, men jeg kan dog godt MySQL fra mit tideligere sprog - PHP.

Jeg håber en venlig sjæl kan guide mig på den rigtige vej, og gerne komme med et simpelt eksempel på at:
- Opdaterer noget i en tabel
- Indsætte i en tabel
- Tjekke om noget f.eks brugernavn og kodeord passer til brugere.
- Slette noget i en tabel

På forhånd tusind tak.
Avatar billede arne_v Ekspert
10. december 2007 - 17:33 #1
while(reader.Read())
{
    // nu er foerste kolonne i reader[0], anden kolonne i reader[1] etc.
}
Avatar billede jkampmann Nybegynder
10. december 2007 - 17:42 #2
Hvad med denne Arne?

while (data.Read())
{
  Response.Write(data.GetValue(1).ToString());
}

-- hvis data er en odbcdatareader?
Avatar billede arne_v Ekspert
10. december 2007 - 18:17 #3
Du kan hente fra en reader paa to maader.

reader.GetXxxx(kolonne)

eller

(Xxxx)reader[kolonne]

Jeg foretraekker den sidste, men kan du bedst lide den foerste, saa bruger du bare den.
Avatar billede jkampmann Nybegynder
11. december 2007 - 15:45 #4
Okay, tusind tak :-)

Hvordan skal en sætning se ud, hvis jeg skal tjekke om f.eks brugernavn og kodeord er rigtigt til et brugersystem?

cmd.CommandText = "SELECT COUNT(*) as Antal FROM brugere WHERE b='Jesper' AND k = 'a'";
cmd.Connection = con;

if ( con[Antal] == 0) {
forkert
} else {
rigtigt
}

- eller hvordan?
Avatar billede arne_v Ekspert
12. december 2007 - 01:30 #5
XxxxDataReader reader = cmd.ExecuteReader();
if ( reader[0] == 0) {
Avatar billede arne_v Ekspert
12. december 2007 - 01:30 #6
eller når det kun er en værdi:

if( (int)cmd.ExecuteScalar() == 0) {
Avatar billede jkampmann Nybegynder
12. december 2007 - 02:49 #7
Er det virkelig sådan man tjekker? Det var da en underlig måde.

Hvad gør ExecuteScala helt bestemt?
Avatar billede arne_v Ekspert
12. december 2007 - 04:08 #8
kalder ExecuteReader og returnerer første række første kolonne
Avatar billede arne_v Ekspert
12. december 2007 - 04:09 #9
du kan lave det på mange måder
Avatar billede jkampmann Nybegynder
12. december 2007 - 15:53 #10
Okay - men jeg er helt ny indenfor ASP.NET og vil selvfølgelig gerne have den bedste måde at gøre tingene på.

Det vil sige, at du vil anbefale, at jeg laver noget i stil med:

cmd.CommandText = "SELECT id FROM brugere WHERE b='Jesper' AND k = 'a'";
cmd.Connection = con;

if( (int)cmd.ExecuteScalar() == 0)
{
  Forkert kodeord og eller brugernavn
} else {
  Logget ind
}

-- eller?
Avatar billede arne_v Ekspert
13. december 2007 - 17:10 #11
cmd.CommandText = "SELECT COUNT(*) FROM brugere WHERE b='Jesper' AND k = 'a'";
cmd.Connection = con;
if( (int)cmd.ExecuteScalar() == 0)

virker naturlig på mig.

(jeg har rettet id tilbage til count)
Avatar billede jkampmann Nybegynder
17. december 2007 - 09:35 #12
Kast svar Arne og tusind tak
Avatar billede arne_v Ekspert
17. december 2007 - 15:15 #13
kommer her
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