Avatar billede alpapa Nybegynder
15. maj 2003 - 15:55 Der er 4 kommentarer og
3 løsninger

Tal ønskes istedet for object

Hvordan får jeg id som et tal og ikke et object fra databasen?

OleDbConnection objConn = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath("../xxx/xxx.mdb")  + ";Persist Security Info=False");
OleDbDataAdapter objCommand = new OleDbDataAdapter("SELECT id FROM email_adresse WHERE email = ('" + email.Text + "')",objConn);
DataSet ds = new DataSet();
objCommand.Fill(ds);
DataTable myTable = new DataTable();
myTable = ds.Tables[0];
try
{
object id = myTable.Rows[0];
Response.Write("din email adresse eksisterer!");
}
catch (Exception e)
{
Response.Write("din email adresse eksisterer!");
}

Håber I forstår.
alpapa
Avatar billede simon.ulsnes Nybegynder
15. maj 2003 - 16:04 #1
Jeg er ikke særlig stærk i VB, men jeg mener at det er noget lignende det her du skal gøre:
CType(ditObject, System.Int32)

- Simon
Avatar billede alpapa Nybegynder
15. maj 2003 - 16:12 #2
Ja, CType kan fx. converte string til int, men koden i VB til det jeg skal bruge ser vist nogenlunde således ud: MyTable.Rows(0).Item("id"), jeg skal bruge koden i C#

alpapa
Avatar billede z42cool Nybegynder
15. maj 2003 - 16:13 #3
Simon>>CType svarer til at caste i c#, men hvorfor bruge VB når resten af koden er c#. Du kan vælge at caste ved at gøre:

int id = (int)myTable.Rows[0];

Eller du kan anvende:

Convert.ToInt32(myTable.Rows[0]).

I øvrigt er det ikke nødvendigt at instantiere en DataTable:

DataTable myTable = new DataTable();

da du jo umiddelbart bagefter hiver en anden DataTable ud af dit DataSet:

myTable = ds.Tables[0];
Avatar billede z42cool Nybegynder
15. maj 2003 - 16:15 #4
int id = (int)myTable.Rows[0]["id"];
eller
Convert.ToInt32(myTable.Rows[0]["id"]);

så da :-)
Avatar billede finger Nybegynder
15. maj 2003 - 16:18 #5
Det du henter her er en hel række i en tabel.
object id = myTable.Rows[0];

hent istedet feltet (fx række 0, kolonne 1:
object id = myTable.Rows[0][1];

du kan også hente værdien i feltet istedet for hele feltet:
int id = Convert.ToInt32(myTable.Rows[0][1].ToString());
eller det samme:
int id = Convert.Toint32(myTable[1].Rows[0].ItemArray.GetValue(1).ToString();

var det det?

//finger
Avatar billede finger Nybegynder
15. maj 2003 - 16:19 #6
og det var et svar.
(pis glemmer det hver gang)
Avatar billede alpapa Nybegynder
15. maj 2003 - 16:27 #7
Takker for alle svar ~ har brugt denne: int id = (int)myTable.Rows[0]["id"];

alpapa
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