webForumDet fria alternativet

Problem med databas/ASP. Invalid use of Null: 'Replace'

7 svar · 1 000 visningar · startad av mackanz

mackanzMedlem sedan sep. 2003443 inlägg
#1

Hej!
Jag har en märkligt strul med en databas och ASP.

Använder mig av Åsa Gruvsjös bildgalleri. Där man laddar upp en bild i taget och skapar kategoier via ett admingränsnitt.

Nu har jag samlat på mig över 3000 bilder som ska laddas upp.
Dessa vill jag naturligtvis inte ladda upp manuellt 1 och 1.

Därför har jag i excel generet all data för databasen, så som datum, filnamn, kattegorier etc. Dessa excel filer har EXAKT samma struktur som databasen.
Det jag sedan gör är att importera datan i excelfilerna till accessdatabasen.
Vad som sker då är "bara" att den fyller på befintliga datbasens tabeller "bilder" och "galleri".

Sen när jag ska kika på det hela så kommer det upp error på samtliga nya som jag lagt till i databasen. Dom gamla funkar det att kika på utan problem men klickar jag på en ny kommer följande meddelande upp.

Claes Lövgrens - Upperudslogen 2009
Microsoft VBScript runtime error '800a005e'
Invalid use of Null: 'Replace'
/fotoalbum/visautan.asp, line 103

Jag bifogar databasen, asp-filerna och excel-filerna om någon vänlig person har ork och lust att kika på vad det kan vara som är fel, eller vad som blir fel.

voigtann1Medlem sedan juni 20019 519 inlägg
#2

hitta raden:
/fotoalbum/visautan.asp, line 103

Och hitta replace() delen där, du har en inparameter där som är null:

    <td colspan="4"><b><%=RecSet("namn")%></b><br><%=Replace(RS("info"), vbCrLf, "<br>" )%></td>

Recordsetet "namn" är null, fixar det eller så kan du ersätt:

  <tr>
    <td colspan="4"><b><%=RecSet("namn")%></b><br><%=Replace(RS("info"), vbCrLf, "<br>" )%></td>
  </tr>

Med:

<%
info = RS("info")
If Not IsNull(info) Then
%>
  <tr>
    <td colspan="4"><b><%=RecSet("namn")%></b><br><%=Replace(RS("info"), vbCrLf, "<br>" )%></td>
  </tr>
<%End If%>
mackanzMedlem sedan sep. 2003443 inlägg
#3

Nu verkar det fungera.

mackanzMedlem sedan sep. 2003443 inlägg
#4

Man vill ju veta lite vad man gjort och få lite förståelse.

Så min fråga kvarstår dock:
Vad innebär det att något är "null" ??
och hur fixar man det så det inte är "null"?

Och på det nya jag laddat upp kommer inte rubrikerna med.

Peter SMedlem sedan dec. 20025 483 inlägg
#5

NULL används för att tala om att det inte finns något värde. Exempel: Du har en tabell med användare. För varje användare sparar du telefonnummer i kolumn X. Vad får de användare som inte har något telefonnummer för värde i X? Jo, NULL :)

NULL är alltså det "värde" man använder för att tala om att någonting inte finns och är inte något man "fixar".

doggelitoMedlem sedan juni 20003 076 inlägg
#6

Kan också nämna att NULL är datatypsoberoende.
Annars är det ju lätt att använda en tom sträng "" i en kolumn med text och en nolla i en kolumn med siffror när man inte vill ha något värde. Då kan man alltså använda NULL istället. Det absoluta inget-värdet! :)

oskarsMedlem sedan nov. 20051 317 inlägg
#7

Men om cellen är NULL som standard, och sen sparar man ett värde i den cellen, och detta värdet tar man sen bort. Blir cellen NULL då, eller bara en "tom sträng"?

doggelitoMedlem sedan juni 20003 076 inlägg
#8

oskars skrev:

Men om cellen är NULL som standard, och sen sparar man ett värde i den cellen, och detta värdet tar man sen bort. Blir cellen NULL då, eller bara en "tom sträng"?

Om du har t.ex. en varchar kolumn som innehåller text och du suddar ut alla tecken så blir det kvar en tom sträng. Du måste uppdatera kolumnen med null om den ska återgå till defaultvärdet null.

Om du istället har en int kolumn som innehåller tal och du suddar ut alla tecken så får du error att kolumnen innehåller felaktigt tal värde. Samma här, du måste uppdatera kolumnen med null för att få tillbaka null.

Jag vet inte om detta skiljer sig mellan olika typer av databaser men för sql server gäller detta. :)

140 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)