Hoppas att någon kan reda ut begreppen lite. Const ConStr="DRIVER={MySQL};SERVER=localhost;UID=användarnamn;PWD=lösenord;DATABASE=databasnamn" Underbart. Tackså jättemycket för tipsen. Nu blir jag lite lugnare :) ett annat tips om man kör med ADODB.Recordset är att använda en clientCursor (rst.CursorlLocation = 3 '## -- adUseClient --), annars får man problem med tex .RecordCount m.m MyODBC har inte stöd för paging (väl?) som du verkar använda här, då får alltså lösa det manuellt med LIMIT. Om du vill veta hur du får paging att funka kan du kolla denna adress! TIPS! MySQLX är en komponent som är mycket bra och snabb. Jo, det finns visst stöd för paging i mySQL om man använder ADODB.Recordset och öppnar det med en CursorLocation = 3 (adUseClient) dvs ett clientside recordset. Paging med LIMIT är inte bra rent prestanda mässigt Men då är det väl inte MySQL som har hand om cursoron utan ADO? ;o)Mysql hur mycket behöver jag ändra??
Idag har jag en webbutik med en accessdatabas.
Jag vill nu gå över till att ha Mysql som databas istället. Jag har lyckats med att konvertera den befintliga databasen till Mysql och detta gick helt ok.
Nu till mina övriga problem.
1. Om koden ser ut så här tidigare hur ska den se ut om jag ska connecta "dsn-less" till mysql?
<!--#INCLUDE FILE="ADOVBS.INC" -->
<%Session.SessionID%>
<% Session("prod_id") = Request.QueryString("prodid") %>
<%
Set Connect=Server.CreateObject("ADODB.Connection")
Set RS = Server.CreateObject("ADODB.Recordset")
Connect.Open "databas"
RS.open "SELECT prodid, artnr, artnamn, artbesk, pris, id, lager FROM produkt WHERE produkt.prodid = " & Request.QueryString("prodid") & " ORDER BY artnamn ", Connect, adOpenStatic
RS.PageSize = 70
Jag har försökt att skriva koden för dnsless connection men får massa fel gällande RS.
2. Är det mycket i asp-koden jag mpste ändra för att kunna hömta uppdatera mm från Mysql istället för access
3 Finns det någon sida någonstans som talar om Motsvarigheten som man ska skriva om man använder Mysql istället för access som databas gällande exempel:
RS.open eller Set RS=Connect.Execute
Hoppas jag har skrivit så ni förstår. Är inget vidare proffs på asp i vanliga fall men nu när jag blandade in Myswl också så känns det väldigt tungt.
All hjälp mottages tacksamt. Skriv gärna så en 5 åring förstår :)Sv: Mysql hur mycket behöver jag ändra??
Så här kan en connectionsträng se ut. Du får självklart ändra värdena på SERVER, UID och PWD så de passar din databas.
I koden behöver du inte ändra speciellt mycket. Några tips är: MySQL gillar inte blanksteg. Därför kanske du kan få problem om dina SQL strängar innehåller blanksteg efter kommateringar osv. Tryck ihop strängen. MySQL använder % istället för * som Access använder. Skall du köra MySQL på egen server i kompbination med ASP får du inte glömma MyODBC. Om du kör mot webbhotell finns den redan där.
Det är de största skillnaderna "kodmässigt" vad jag nu kan komma på.
Nästa inga alltså så kör på med gammal kod du. Se bara till att connection strängen blir omskriven till MySQL's och tänk på blankstegen lite här och där.Sv: Mysql hur mycket behöver jag ändra??
mvh // TommySv: Mysql hur mycket behöver jag ändra??
rst.AddNew kan oxå "spöka" lite då MyODBC inte har fullt stöd för ADODB.Recordset
En annan sak är att i sql server, access så använder man TOP n för att hämta n antal poster. I mySQL använder man LIMIT start, antalposter (SELECT * FROM myTable ORDER BY myField DESC LIMIT 0,1 för att hämta senaste av ngt)
Datum omgärdas av ' istället för som access #
Du kommer säkert upptäcka lite mer som inte kommer att vara som det har varit mot Access, sql server
cya,
PatrikBSv: Mysql hur mycket behöver jag ändra??
/JohanSv: Mysql hur mycket behöver jag ändra??
http://www.webforum.nu/showthread.php?s=&threadid=62531&highlight=paging
/Pontus @ Tillmar.netSv: Mysql hur mycket behöver jag ändra??
Sv: Mysql hur mycket behöver jag ändra??
<%
Set rst = Server.CreateObject("ADODB.Recordset")
rst.Source = myQuery
rst.ActiveConnection = objCnn
rst.CursorLocation = 3
rst.CursorType = 1
rst.LockType = 3
rst.PageSize = 10
rst.Open
If Not rst.EOF Then
rst.AbsolutePage = 1
'## -- loopa recordsetet --
End if
%>
funkar klockrent ;)
cya,
PatrikBSv: Mysql hur mycket behöver jag ändra??
har du ett par hundra tusen poster i tabellen blir det segt ......
cya,
PatrikBSv: Mysql hur mycket behöver jag ändra??