Avatar billede soerenlyn Nybegynder
08. november 2006 - 19:24 Der er 12 kommentarer og
1 løsning

Problemer med at hente fra db

Hej Eksperter.

Jeg har et problem med hensyn til at hente fra database. Tingene indgår i en Do-While. Kort resumeret:

c = 1
rs("1") = 0
rs(c) = Sørens Hær

I en kolonne ved navn "haernavn" står der Sørens Hær, og i en kolonnen ved navn "1" står der 0. Af en eller anden grund henter den fra kolonnen haernavn..

På forhånd tak
Avatar billede ffsoft Praktikant
08. november 2006 - 19:53 #1
Du har en tabel med felterne haernavn og navn i denne rækkefølge ??

rs(1) er første felt i tabellen altså haernavn
rs("haernavn") er første felt i tabellen altså haernavn

du kan refere til et felt i et recordset med navnet
- ANBEFALES - eller med det nummer feltet har i SQL
udtrykket.
Avatar billede soerenlyn Nybegynder
08. november 2006 - 20:55 #2
okay ...

Men når jeg skriver rs("1"), burde den hente fra fra feltet ved navn 1, og ikke fra det første felt i tabellen da?

Altså burde rs("1") hente værdien "0" i stedet for værdien "Sørens Hær"..
Avatar billede ffsoft Praktikant
08. november 2006 - 21:15 #3
Der er forskel på at skrive rs(1) som peger på det
første felt i recordsettet og rs("1") som peger på
et felt der hedder 1.

Kald altid dine felter noget sigende i tabellen:
tblKunde
  KundeID
  Fornavn
  ...

Skriv feltnavne i SQL udtrykket:
Select Fornavn from tblKunde

Brug formen rs("NavnPåFelt"):
response.write rs("Fornavn")
Avatar billede soerenlyn Nybegynder
08. november 2006 - 21:50 #4
Ja det ved jeg godt, og sådan gør jeg også altid.
På nær i dette tilfælde, hvor at der ligger informationer og forskellige tanks og andre militærenheder, som jeg har givet navne ved tal. Derfor kalder jeg dem 1,2,3 osv.

Jeg kender også godt forskellen på rs(1) og rs("1"), men jeg troede at når jeg skrev rs(strEnhed) og strEnhed = 1, så ville den hente det som om der stod rs("1") .. men i stedet henter den det som rs(1)? If so, hvordan får jeg den til at hente rs("1") ?
Avatar billede cpufan Juniormester
09. november 2006 - 10:26 #5
ændr kolonnenavn
dårlig ide at give kolonner talnavne
Avatar billede cpufan Juniormester
09. november 2006 - 10:27 #6
iøvrigt er første kolonne rs(0)
Avatar billede soerenlyn Nybegynder
09. november 2006 - 13:23 #7
Hvis jeg ændrer kolonnenavnene, så det ikke er tal, vil det give mange andre problemer, så det er en dum idé. Kan man ikke hente det på en anden måde? rs("""strEnhed""") ? Da "" skrives som ".. ?
Avatar billede ffsoft Praktikant
09. november 2006 - 14:47 #8
Du kan kalde felterne næsten hvad du vil.

tblKunde
  1
  2

Select 1, 2 from tblKunde ....

response.write rs("1")
response.write rs("2")

errata:
Det første felt i recordsettet hedder rs(0) som cpufan rigtigt skriver.

I en database hedder det felter i et regneark hedder det kolonner,
men vi ved hvad vi mener. ;0)
Avatar billede soerenlyn Nybegynder
09. november 2006 - 16:20 #9
Mit problem er dog at det som jeg vil hente fra db afhænger af en variabel: c / strEnhed.

Så når jeg skriver rs(strEnhed) så gør den som om der stod rs(1) (da strEnhed = 1), men det jeg vil have den til at skrive er rs("1")....
Avatar billede cpufan Juniormester
09. november 2006 - 18:24 #10
måske rs("&response.write strenhed&")
Avatar billede cpufan Juniormester
09. november 2006 - 18:26 #11
næææ

rs(Cstr(strenhed))

måske
Avatar billede soerenlyn Nybegynder
09. november 2006 - 22:26 #12
rs(Cstr(strEnhed)) virker !
Mange tak... Opretter du det lige som et svar så jeg kan give dig point?
Avatar billede cpufan Juniormester
09. november 2006 - 22:35 #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
Kurser inden for grundlæggende programmering

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