Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Fel i SQL-sats mot MySQL?

Postades av 2005-04-14 18:53:31 - Jakob Hellquist, i forum mysq, Tråden har 12 Kommentarer och lästs av 845 personer

Hej,

Håller på att byta från Access till MySQL, och får inte SQL-satserna att fungera då jag byter databaskoppling från Access till MySQL. Jag är nybörjare på detta, så det kan vara något banalt fel...

Det som Select-satsen hämtar matas in i en array som presenteras i en tabell på webbsidan. När jag kör mot Access funkar allt som det skall, men med MySQL blir tabellen bara tom, utan felmeddelande.

Längst ned summeras dessutom antalet rätt man haft (tabellen är ett formulär som jämför dina inmatade svar med de som SELECT-satsen hämtar), men med MySQL står det alltid "Du hade 0 rätt av -1 möjliga", oavsett vad man svarat.

Saknas \, `eller annat för att satserna skall fungera mot MySQL?

Alla tips emottages varmt!
Jakob


+++++++++++++++++++
'MY SQL DATABASE
set Database=server.createobject("adodb.connection")

Database.Open "PROVIDER=MSDASQL;Driver={MySQL ODBC 3.51};SERVER=mySERVER;DATABASE=myDATABASE;UID=myUID;PWD=myPWD;"


' Hämtar rätta svaren
Set rsAnswers = Server.CreateObject("ADODB.Recordset")

sql="SELECT CorrectAnswerId, CourseID, ExerciseID, ExerciseSubID, CorrectAnswer, ExerciseItemId FROM CorrectAnswers WHERE ExerciseId='"& iExerciseId &"' AND ExerciseSubId ='"& Request.Form("exercisesubid") &"' ORDER BY ExerciseItemId"

rsAnswers.Open sql, Database, 3, 3


Svara

Sv: Fel i SQL-sats mot MySQL?

Postades av 2005-04-14 20:30:45 - Per Persson

Jag ser inget syntaxfel i SQL-satsen. Kopplingsdelarna får någon annan granska.


Svara

Sv: Fel i SQL-sats mot MySQL?

Postades av 2005-04-14 21:13:15 - Johan Djupmarker

Du har inte tagit med koden som presenterar resultatet på sidan, det kanske är där felet finns? "...av -1 möjliga" tyder på att du har använt RecordCount-propertyn. Tror inte det finns stöd för rätt cursortyp i MySQL-drivrutinen, därför fungerar inte den och returnerar -1 istället.

/Johan


Svara

Sv:Fel i SQL-sats mot MySQL?

Postades av 2005-04-14 22:37:10 - Jakob Hellquist

Japp, jag använder RecordCount. Vad är motsvarigheten i MySQL i så fall?

/Jakob

Här kommer delar av resten som presenterar resultatet på sidan:
++++++++++++++++++++++++

' Sätt ToComment Recordset
Set rsComments = Server.CreateObject("ADODB.Recordset")

Dim iAnswers, iRightAnswers

iAnswers = int(rsAnswers.RecordCount)

' Räknar antal rätt
iRightAnswers = 0

Redim arUserAnswers(iAnswers, 1)

' Array med lärarkommentar m.m som vi använder för att skriva ut en array i Javascript
Redim arJscript(iAnswers, 2)

iJscriptCount = 0

' Här läggs det rätta svaret (för att jämföras med user input), iCount är räknare
Dim arCorrectAnswers, iCount, iFoundIt

rsAnswers.MoveFirst

Dim storedCourseID, storedExerciseID, storedExerciseSubID
storedCourseID = rsAnswers.Fields("CourseID").Value
storedExerciseID = rsAnswers.Fields("ExerciseID").Value
storedExerciseSubID = rsAnswers.Fields("ExerciseSubID").Value

for i=1 to rsAnswers.RecordCount
if Len(arExerciseItemId(i)) > 0 AND arExerciseItemId(i) <> arInitValues(Request.Form("exercisesubid"), i) then

' Splitta rätta svaren
arCorrectAnswers = Split(rsAnswers.Fields("CorrectAnswer").Value, "|", -1, 1)

' Kolla efter rätt svar i arrayen
For iCount = 0 to Ubound(arCorrectAnswers)
if arExerciseItemId(i) = arCorrectAnswers(iCount) then
iFoundIt = iFoundIt+1
Exit For
Else
iFoundIt = 0
End if
Next

if iFoundIt > 0 then

arUserAnswers(i,0) = "Rätt!"
arUserAnswers(i,1) = ""
iRightAnswers = iRightAnswers+1

'Annars loopa över mistakes med samma ExerciseItemId
else
++++++++++++
SKIPPAR ETT LÄNGRE STYCKE KOD SOM UPPDATERAR DIV TABELLER
++++++++++++


'//////////////////////////////////////////////////////////////////////////////////////////////////////////
' Funktioner SOM PRESENTERAR RESULTATET
'//////////////////////////////////////////////////////////////////////////////////////////////////////////
Function printAnswers(iWhichExercise, iWhichRecord)
if int(Request.Form("exercisesubid")) = iWhichExercise then
if Not IsEmpty(Request.Form) then
printAnswers = arUserAnswers(iWhichRecord,0)&" "&arUserAnswers(iWhichRecord,1)
else
printAnswers = "&nbsp;"
end if
else
printAnswers = "&nbsp;"
end if
End Function

Function printSummary(iWhichExercise)
if int(Request.Form("exercisesubid")) = iWhichExercise then
if Not IsEmpty(Request.Form) then
printSummary = "<B>Du hade "& iRightAnswers &" rätt av "& iAnswers &" möjliga</B>"
else
printSummary = "&nbsp;"
end if
else
printSummary = "&nbsp;"
end if
End Function


' Skriver ut initvärden samt det användaren skrivit i rutan
Function printInitValues(iWhichExercise, iWhichRecord)
if int(Request.Form("exercisesubid")) = iWhichExercise then
if Not IsEmpty(Request.Form) then
printInitValues = arExerciseItemId(iWhichRecord)
else
printInitValues = arInitValues(iWhichExercise, iWhichRecord)
end if
else
printInitValues = arInitValues(iWhichExercise, iWhichRecord)
end if
End Function

Function radioSelect(iWhichExercise, iWhichRecord, sWhatToLookFor)
if int(Request.Form("exercisesubid")) = iWhichExercise then
if arExerciseItemId(iWhichRecord) = sWhatToLookFor then
radioSelect = "CHECKED"
else
radioSelect = ""
end if
else
radioSelect = ""
end if
End Function


'+++++++++++++++++++++++++++++
' CLOSE DATABASE CONNECTIONS!
'+++++++++++++++++++++++++++++

...


Svara

Sv:Fel i SQL-sats mot MySQL?

Postades av 2005-04-14 22:38:01 - Jakob Hellquist

Tack Per!


Svara

Sv: Fel i SQL-sats mot MySQL?

Postades av 2005-04-15 08:00:50 - Johan Djupmarker

Jag tror inte det går utan att ställa en separat SQL-fråga eller loopa igenom posterna. Jag skulle loopat ut posterna med istället:

<code>
i = 0
do until rsAnswers.eof
i = i + 1
...
loop
</code>

/Johan


Svara

Sv: Fel i SQL-sats mot MySQL?

Postades av 2005-04-15 19:13:56 - David Hägg

Nej det går inte att göra RS.RecordCount med MySql tyvärr...

Jag löste det en gång genom att skriva <code>SELECT Count(*) FROM <tblnamn></code>
Mer info finns på Developer forum på www.mysql.com

Mvh David



www.frankly.se


Svara

Sv:Fel i SQL-sats mot MySQL?

Postades av 2005-04-16 17:31:48 - Peter Björklund

<code>SELECT Count(ID) AS IDCollection FROM TblName</code>

iAnswers = RS("IDCollection")


Svara

Sv: Fel i SQL-sats mot MySQL?

Postades av 2005-04-18 16:22:18 - Jakob Hellquist

Hej Peter!

Jag får följande felmeddelande:

Microsoft VBScript compilation error '800a03fd'

Expected 'Case'

/spanska1_mysql/lektion3/ejerc3.asp, line 169

SELECT Count(CorrectAnswerID) AS IDCollection FROM CorrectAnswers
-------^

Hls,
Jakob


Svara

Sv:Fel i SQL-sats mot MySQL?

Postades av 2005-04-18 16:34:01 - Jakob Hellquist

Tack David, jag gräver vidare där och återkommer med resultatet i denna tråd.

Jakob


Svara

Sv:Fel i SQL-sats mot MySQL?

Postades av 2005-04-18 17:00:47 - Johan Djupmarker

Det är en SQL-fråga som du ställer till databasen, du har nog skrivit den utan citationstecken...

Men eftersom du ändå ska loopa ut posterna föreslår jag att du gör om loopen enligt mitt tidigare svar istället.

/Johan


Svara

Sv: Fel i SQL-sats mot MySQL?

Postades av 2005-05-02 15:52:40 - Jakob Hellquist

Efter mailkontakt med Johan vid sidan av detta forum, så har jag nu lösningen på hur jag skulle ersätta RecordCount mot Access med ett RecordSet:

...

Dim iAnswers, iRightAnswers

' iAnswers = int(rsAnswers.RecordCount)
'Eftersom .RecordCount inte stöds av MySQL-drivrutinen får vi göra en fuling här... Inte effektivaste lösningen, men den kräver minst omkodning.

Set rsAnswersCount = Server.CreateObject("ADODB.Recordset")
sql="SELECT COUNT(0) FROM CorrectAnswers WHERE ExerciseId="& iExerciseId &" AND ExerciseSubId ="& Request.Form("exercisesubid") &" ORDER BY ExerciseItemId"
rsAnswersCount.Open sql, Database, 3, 3
iAnswers = rsAnswersCount.Fields(0)
...

Stort tack för hjälpen!
/Jakob


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 154
27 952
271 704
619
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies