PDA

View Full Version : Jag behöver få ett antal saker förklarade nu!


medialabs
2006-05-21, 21:19
Hej,

Efter att ha börjat programmera asp/mysql igen efter ett ganska långt uppehåll så har jag upptäckt en sak, jag blandar kod lite väl friskt. Speciellt när jag ska öppna en databas och loopa ut skit från databasen, jag stänger databaserna på en massa konstiga sätt.

Så jag sätter mig ned här nu och vill ha det förklarat för mig, en gång för all. Vad är rätt!?
1. Har upptäckt att jag öppnar 3st databasanslutning mot samma MySQL-databas. Hur går jag tillväga för att slippa öppna databasen tre gånger på varje sida? Borde ju räcka med en gång, då alla tabeller ligger i samma databas.

2. Hur ser en korrekt databasanslutning ut där databasen är en MySQL? är detta den mest optimala?

Set ConnectNews = Server.CreateObject("ADODB.Connection")
ConnectNews.Open "DRIVER={MySQL ODBC 3.51 Driver}; SERVER=; DATABASE=; USER=; PASSWORD=; OPTION=3;"

3. Är detta rätt sätt att stänga en databas och recordset med?


RSNews.Close
ConnectNews.Close

4. Vilket av följande sätt är att föredra för att skriva ut information från en databas?

<%=RSNews("strid")%> eller <%response.write RSNews("strid")%>

5. Är detta det smidigaste sättet att öppna och hämta ur en databas med?

SQLNews = "SELECT * FROM tblnyhet where strid = " & session("id")
set RSNews = ConnectNews.Execute (SQLNews)

6. Hur ser SQL-uttrycket ut när man ska spara ned data i en databas? Ska jag använda update eller Insert?

Många frågor som jag trodde att jag behärskade, men jag återanvänder kod och blandar friskt med ny kod som jag hittar osv osv. Till slut vet jag inte riktigt vad som är in eller ut :x

Ni får komma med tips, trix kommentarer osv. Få in mig på rätt spår igen.

tydal
2006-05-21, 21:32
6. Update är om du vill ändra en rad som redan finns. Insert är när du ska lägga till en rad.

calson
2006-05-21, 23:15
Du behöver bara öppna databsen en gång och sedan öppna tabellerna med recordset. Stäng recordsetet med (ie:) objRs.Close och sedan öppna nästa tabell. Vill du öppna flera tabeller samtidigt kan du använda dig av arrays (sök här i forumet) eller öppna dom samtidigt med olika recordset (ie) obRs, objRs2 osv.

Detta använder jag vid stängning av ett recordset och/eller databas

objRs.Close : set objRs = nothing - Recordset
objConr.Close : set objConr = nothing - Databaskoppling


För att förtydliga tydals inlägg

Uppdatera:

Update tabell Set (fält1 i databsen, fält2 i databsen) Values(Värde1, värde2) Where fält i databasen = värde

Nytt:

Insert istället för Update utan Where

Hoppas det var till någon hjälp