Avatar billede icedox Nybegynder
05. maj 2001 - 12:30 Der er 11 kommentarer og
2 løsninger

Select mindste værdi fra ID where felt =tomt

Hejsa!
Inden jeg bruger insert, bruger jeg select * fra tabel where dato=\"tomt\", og det IDnr bruger jeg så i Insert. Men hvordan gør jeg \"tomt\" i SQL ?

ps.jeg bruger ikke autonr.
På samme sted, ønsker jeg at købe en ringetone db, med ca 1500 toner!
Avatar billede dudal Nybegynder
05. maj 2001 - 12:46 #1
select * fra tabel where dato is null

/dudal
Avatar billede icedox Nybegynder
05. maj 2001 - 12:56 #2
Tak til dudal, jeg vil dog vente lidt, fordi jeg mangler db. OK!
Avatar billede perla Nybegynder
05. maj 2001 - 13:05 #3
Eller
select min(id) fra tabel where dato is null

Er stort set det samme, men returnerer kun det mindste, hvor den anden returnerer alle tomme og det er ikke nødvendivis det mindste id du får først.


-Per
Avatar billede icedox Nybegynder
05. maj 2001 - 13:43 #4
Tak til Per !
Det er lige hvad jeg tænkte på !
Men jeg venter lige,,,,
fordi jeg står og mangler ringetone db.
Har I én ?
Avatar billede perla Nybegynder
05. maj 2001 - 13:46 #5
Næ, men kan da hurtig lave en til dig hvis du ved hvilke felter du vil have i den.

-Per
Avatar billede was_ricardo Nybegynder
05. maj 2001 - 14:26 #6
>> where dato is null

Man skal lige pas på: en streng med en længde af 0 (zero-length string), ligesom

=> \"\" <=

kan give problemer. Hvis den pågældende DB ikke er indstillet til at acceptere det, er det sikrest at tilføje følgende:

>> where dato is null or dato = \'\'
Avatar billede icedox Nybegynder
05. maj 2001 - 14:35 #7
ja, was r.  det er et lille problem!
Jeg får :
ADODB.Recordset error \'800a0cc1\'

Item cannot be found in the collection corresponding to the requested name or ordinal.

når jeg efter SQL, prøver at rs(\"felt\")
jeg laver nemlig en streng :
rs(\"id\") = strId
og nu klager den sig!

ps.  rs(\"ID\") er i db. og er et tal.
Avatar billede perla Nybegynder
05. maj 2001 - 14:48 #8
Tror ikke du har beskrevet problemet rigtigt så. Om feltet er null eller tom bestemmer man selv i sin behandling af det.

At RS(\'ID\") beklager sig er sandsynligvis fordi ID feltet også er tomt, og det giver problemmer. Select stamentet kræver at recorden er tilstede og at der er en id værdi for alle felter.

Vil du indsætte i databasen og vide hvilket id nr det er så brug en af disse 2 metoder.

http://www.activeserverpages.dk/aspdigital/kapitel2/sql_identity.asp

http://www.1script.com/asp0001.html

-Per
Avatar billede icedox Nybegynder
05. maj 2001 - 15:07 #9
OK, nu er jeg blivet klogere.
Jeg har ID felt, hvor jeg har på forhånd skrivet
nogle tal.  Men problemet er at fordi ID skal være et tal, så tilføjer access automatisk et 0 værdi i tomt felt, og derfor får jeg altid det.
Avatar billede icedox Nybegynder
05. maj 2001 - 15:10 #10
Nu kører det, med \"dudal´s\" svar.
Men det andet kan man jo også bruge, ved andre lejligheder.
Tak for mig.
Avatar billede was_ricardo Nybegynder
06. maj 2001 - 16:43 #11
>> Om feltet er null eller tom bestemmer man selv i sin behandling af det

Hvis feltet aldrig har været befolket er den NULL, medmindre en default-værdi er sat op til den - men sletter du indholdet af det, er den ikke længere NULL men zero-length. med SQL server kan du bruge SET ANSI NULLS ON, hvilket gør at IS NOT NULL og <> \'\' og != \'\' blover behandlet ens - men Access mangler (mig bekendt) denne mulighed.
Avatar billede perla Nybegynder
06. maj 2001 - 16:48 #12
du kan sette den til null igen, update set felt = null where felt = \"\".

Har selv brugt det engang da jeg ville have null i nogle felter

-Per
Avatar billede icedox Nybegynder
06. maj 2001 - 19:17 #13
Jo, tak !
Man kan også lave : select top 1 where ,,,,,,,,
og på den mode få det største tal i id...
:)
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