webForumDet fria alternativet

frågor om access och mySQL

ASP

48 svar · 2 325 visningar · startad av snowcat · sida 2 av 3

Frågan, av snowcat

Hej Det känns som jag har grävt ner mig i ett djupt hål och inte kan komma upp... så här är det: Jag har i fyra års tid jobbat på min sajt och tänkte inte från början att den skulle bli så stor som den nu har blivit. Jag vet att jag måste byta mina accessdatabaser till MySQL, men har inte den minsta susning. Har letat efter lite tips och skall väl få till det tror jag. Men mina frågor är: 1

Läs frågan i sin helhet →
Medlem sedan juni 20019 519 inlägg
#21

<% Option Explicit %>
Använder du för att koden skall kontrollera att alla variabler du använder är "dimade" osv.. ett måste i din kod högst upp anser jag ;)

snowcat skrev:

jo men vad är dom bra för?

Compusa skrev:

Då måste du deklarera dina variabler. Om du missar en deklarering så får du ett felmeddelande.

Medlem sedan feb. 2007220 inlägg
#22

jo men jag menade varför måste man dimma dem?

Medlem sedan juni 20019 519 inlägg
#23

För det är det korrekta sättet att skriva kod på. ASP är "snäll" nog att ignoera detta. ASP kommer "att skapa variablerna åt dig" men det kommer ta mer prestanda än om du gör detta själv.

Medlem sedan feb. 2007220 inlägg
#24

ok tack då vet jag vad de är till, då skall jag dimma dem :-)

Medlem sedan feb. 2007220 inlägg
#25

om man har en header-includefil - kan man då dimma alla i den. t.ex så här;
Dim Connection, RecSet, Connect, intRowColor, bokstav
eller måste man göra det precis ovanför connetionssträngen i varje fil?

Medlem sedan juni 20019 519 inlägg
#26

Nej... du kan ha det i en include fil om du vill det. Men jag tycker att man dim:ar där dom används.

Medlem sedan feb. 2007220 inlägg
#27

okidoki -då gör jag så :-)

Medlem sedan jan. 20023 327 inlägg
#28

En liten mer utförlig förklaring till varför Option Explicit är att föredra:

In a long program, this statement prevents the accidental reuse of the name of a previously declared variable. Also, if you mistype a declared variable's name or try to use an undeclared variable, an error message is generated.

Med andra ord så är detta ett sätt att göra din kod striktare samt att undvika fel som kan vara svåra att hitta.

Medlem sedan feb. 2007220 inlägg
#29

tack för den förklaringen :)

Medlem sedan nov. 20014 054 inlägg
#30

Lite kort om vad OPTION=3 står för hittar du här: http://dev.mysql.com/doc/refman/5.0/en/myodbc-configuration-connection-parameters.html

3:an är dock ett rekommenderat värde.

Medlem sedan feb. 20001 590 inlägg
#31

är det helt fel med access? Hur mycket tål en accessdatabas egentligen??

Enligt en databasguru på mitt jobb så finns ett "inofficiellt" riktmärke på 100000 poster, sen är det dags att tänka på annan databas. Naturligtvis påverkar antalet anslutningar också osv.

Medlem sedan feb. 2007220 inlägg
#32

Ojdå - kan en liten access bli så stor...

men nu har jag börjat att ändra i alla mina asp-filer..
Jag har en ny fråga:
Kan man lägga själva connection-strängen i en variabel eller includefil eller något liknande? För jag har en hel del asp-filer som jag måste in och ändra i och när jag sen sänder upp dem alla till webbhotellet så måste jag ju ändra igen. Det skulle ju gå snabbare om jag då bara behövde ändra själva connectionsträngen...?
Hur gör man då?

Medlem sedan juni 20019 519 inlägg
#33

Ha en include med dina connection så det blir så lätt för dig att uppdatera om du känner för att göra en annan databas istället för mySQL.

Medlem sedan feb. 2007220 inlägg
#34

har du något tips på hur detta skulle kunna se ut?
skall den ligga i global.asa då, och funkar en global.asa på alla servrar?
(som du förstår är jag ny på detta :-)

Medlem sedan feb. 2007220 inlägg
#35

hmm..
plötsligt har mina sånna här

<% IF RecSet("sedel") > "0" Then %>

slutat att fungera sedan jag bytt om till mySql... någon som vet hur man skall göra istället?

Medlem sedan juni 200032 967 inlägg
#36

Du ska alltid typkonvertera. Äpplen kan ingalunda jämföras med päron - ej heller med bananer eller kumquat.

Är det tal - typkonvertera till lämplig taltyp och gör jämförelsen med tal.

<% IF CLng(RecSet("sedel")) > 0 Then %>

edit:

skall den ligga i global.asa då

Om du vill. Till exempel kan du lägga en applikationsvariabel med din connectionstring (passar bra i subrutinen Application_OnStart) i global.asa.

och funkar en global.asa på alla servrar?

Typ. Alla Windows-servrar i alla fall (om inte något är trasigt).

Medlem sedan feb. 2007220 inlägg
#37

nu får jag istället
Error Type:
Microsoft VBScript runtime (0x800A000D)
Type mismatch: 'CLng'

Jag trodde det var 0 man skulle göra något med, kanske enkelfnuttar elle något?

Medlem sedan juni 200032 967 inlägg
#38

Vad innehåller fältet då?

Medlem sedan feb. 2007220 inlägg
#39

fältet i databasen innehåller text,
det jag vill ha fram är att om fältet innehåller text så skall det visas, annas inte.

Det ha funkat i ms access men jag håller på och ändrar allt till mysql nu :)

Medlem sedan juni 200032 967 inlägg
#40

Hmm - ok. Om det inte innehåller text, vad innehåller det då? En nolla?

<% IF "" & RecSet("sedel") <> "0" Then %>

"" & använder jag här för att se till att inte något blir fel om det finns ett NULL-värde i fältet.

mvh

edit:

Det ha funkat i ms access men jag håller på och ändrar allt till mysql nu

Jag förstår det - men saker och ting funkar lite olika.

261 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
136 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)