Avatar billede aslan Nybegynder
15. september 2003 - 12:56 Der er 4 kommentarer og
1 løsning

Fremmednøgle og søgning?

Jeg har 2 spørgsmål jeg har rendt rundt og tygget på et stykke tid:

1. Når man har en fremmednøgle i en tabel som kan skal indeholde en reference til en tabel eller null dvs den ikke referere til noget. Hva gør man hvis denne fremmednøgle er af værdien integer, f.eks hvis det er en kontonr. Kan man i db give denne værdien null for en integer kan vel ikke være lig null?

2. Når jeg gerne vil lave en søgning på f.eks værdien 'Hans' så har jeg problemer med at db er case sensitive. Når man søger på 'hans' så kan den ikke finde 'Hans'. Er der en måde man slå denne case sensitive fra ved søgning eller hva gør man?
Avatar billede arne_v Ekspert
15. september 2003 - 13:04 #1
1) Jo - en integer kan godt være NULL.

2) Afhænger af databasen.
Avatar billede aslan Nybegynder
15. september 2003 - 14:24 #2
1 Hvis jeg f.eks arbejder med en int kontonr som også er fremmednøgle i db, hvordan skulle jeg så styre det? Når jeg f.eks får noget data fra en textField via field.getText() så kommer det jo som en streng og når jeg parser denne til en  int via Integer.parseInt() så kan jeg jo ikke arbejde med null'er for så vil jeg få en exception?

2 Her skal du nok uddybe hva du mener med det. Kan du give mig et eksempel på hvordan en db styre dette?
Avatar billede arne_v Ekspert
15. september 2003 - 19:07 #3
re 1)

Jeg tænker i baner af:

String sknr = field.getTExt();
if(sknr.equals("")) {
  pstmt.setNull(7, Types.INTEGER);
} else {
  int knr = Integer.parseInt(sknr);
  pstmt.setInt(7, knr);
}

men det kan laves på mange måder.

Husk at for strenge er NULL og '' forskellige.
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
Computerworld tilbyder specialiserede kurser i database-management

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