Avatar billede orca Nybegynder
05. marts 2002 - 09:00 Der er 10 kommentarer og
1 løsning

MySQL problemer

Hej alle. Jeg kører siden www.gameshots.dk. Indtil for få dage siden blev
jeg hostet hos Buydomains og brugte en MS SQL DB server. Nu er jeg skiftet
til Cliche og kører på en MySQL database server. Nu giver den bare en
fejlmeddelelse. Alle tabeller og data er flyttet over, og databasen ser ud
til at virke fint. Fejlen sker med det samme jeg laver en rs.Open
"simpel_sql_streng", Conn, 1, 1.

Database forbindelsen ser således ud:
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open
"driver={MySql};server=195.184.61.234;database=gameshots_dk;uid=xxx;pwd=xxx"

Hvad kan der være galt? Al min kode er hel normal ADO kode.

Her er de 4 første recordsets jeg prøver at åbne på mit site:

rs.Open "SELECT * FROM [tblUsers] WHERE [UserID] = " &
Val(Request.Cookies("GameShotsAutoLoginID")), Conn, 1, 2

rs.Open "SELECT * FROM [tblStats] WHERE [StatID] = 1000000000", Conn, 1, 3

s.Open "SELECT * FROM [tblSettings] WHERE [SettingID] = 1", Conn, 1, 3

Set rs = Conn.Execute("SELECT COUNT(GameID) AS [Number] FROM [tblGames]")

Alle disse melder fejl, samt alle andre strenge jeg bruger på mit site.

Mvh Mark
Avatar billede misbruger Nybegynder
05. marts 2002 - 09:05 #1
fjern [ ]
Avatar billede milo Nybegynder
05. marts 2002 - 09:05 #2
hvis jeg skal være ærlig tror jeg det er cliche der fucker lidt...de har vist haft nogen problemer
Avatar billede invisibleman Nybegynder
05. marts 2002 - 09:23 #3
Cliche's MySQL server funker helt fint .. http://fotx.net/ bruger den .. og det kører perfekt.

Som misbruger siger, fjern [ ] .. de er unødvendige ...
Avatar billede coltau Juniormester
05. marts 2002 - 09:26 #4
Hvilken fejlmeddelelse. ?
Avatar billede orca Nybegynder
05. marts 2002 - 10:03 #5
Det så ud til at det var [] der lavede problemer... Jeg synes ellers at have hørt man netop skulle bruge disse ved MySQL.

Jeg har dog endnu et problem, nu brokker den sig over denne linie:
<%= FormatNumber((rsStats("Antal")/intTotal)*100, 1)  & "%" %>

Og dens recordset ser således ud:
rsStats.Open "SELECT  Vote,Count(*) As Antal FROM tblVoteRegistrations WHERE VoteID = " & rs("VoteID") & " GROUP BY Vote ORDER BY Vote", Conn, 1, 2

Den siger Type Mismatch, hvis jeg sætter int() rundt variablerne i divisionen kommer den med fejlen "Variable uses an Automation type not supported in VBScript"

Hvad er galt i det?

Mvh Mark
Avatar billede coltau Juniormester
05. marts 2002 - 10:09 #6
Noget kunne tyde på at rsStats("Antal") er blank. (IsEmpty) hvilket igen kunne tyde på at SQL-sætningen ikke går godt. (RecordCount = 0)
Avatar billede orca Nybegynder
05. marts 2002 - 11:23 #7
Den er ikke EOF. Jeg kan også godt udskrive både variablen intTotal og rs("Antal"). Begge dise vises som to helt normale tal. Men med det samme jeg vil bruge dem til en udregning, eller bare sætter Int() omkring dem, så melder den fejl.
Avatar billede coltau Juniormester
05. marts 2002 - 11:58 #8
Det var som s...
Det kræver åbenbart nærmere undersøgelse. har du prøvet med CInt i stedet for Int, som jo konvertere alt til tal.
Avatar billede orca Nybegynder
05. marts 2002 - 14:26 #9
Det virkede... Hvad er forskellen på de to måder at gøre det på? Int vs CInt.

Lige et allersidste problem. Ved næsten alle steder jeg prøver på at opdatere noget i min database kommer den med fejlen "Invalid string or buffer length". Her er et eksempel på et af stederne hvor det sker:

Set rs = Server.CreateObject("ADODB.RecordSet")
rs.Open "SELECT * FROM tblGames WHERE GameID = " & Request("GameID"), Conn, 1, 3
                   
rs.Update
  rs("Views") = rs("Views") + 1
rs.Update


Hvad er der galt der?

Mvh Mark
Avatar billede coltau Juniormester
05. marts 2002 - 14:59 #10
Int returnere heltalsværdien af et tal (123,25 bliver til 123)
CInt omdanner alle typer til en heltalsværdi. ("123" bliber 123)
CCur omdanner alle typer til en talværdi. ("123,25" bliber 123,25)

Jeg kan ikke umiddelbart se en fejl i koden - men der er en rs.update for meget. Det kan være at Microsoft acceptere det - men ikke MySQL.

rs.Update ' SKAL SLETTES
  rs("Views") = rs("Views") + 1
rs.Update
Avatar billede orca Nybegynder
05. marts 2002 - 15:02 #11
Det hjælper ikke. Fejlen sker også ved:
rs.AddNew
  'blabla
rs.Update

Weird... Mvh Mark
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester