24. februar 2003 - 10:05Der er
13 kommentarer og 1 løsning
Konvertering fra Access til MySql
Jeg har konverteret en Access-2000 database til MySql 4.0. Jeg har udført konverteringen med MySql Front
Der er en del SQL-sætninger, der virker ikke Access, men som ikke virker i MySql. Her er en af dem:
SELECT Value, Time FROM proddata WHERE CodeID = 1020 AND Value IS NOT NULL AND (Time BETWEEN 1045468800) AND (1045468800-518400)) ORDER BY Time ASC;
Hvorfor virker denne sætning ikke i MySql? Er Time et reserveret ord? Felttypen på Time er INT(11). Time fungerer godt nok i andre SQL-sætninger - bare ikke i denne...
Jeg har lige opdaget at der er en ekstra højre-parantes i SQL-sætningen, men det er ikke det der er problemet. Det løser heller ikke problemet, hvis jeg ændrer Time til Tid. Der kommer ingen fejl. Men søgningen giver heller ingen poster...
Her er det sted, hvor SQL-sætninger opbygges. De sendes som et string-array til en metode, der tegner grafer ud fra dem:
strings[0] = "SELECT Value, Time FROM ProdData_" + houseid + "_" + batchno + " WHERE CodeID = 1020 AND Value IS NOT NULL AND (Time BETWEEN '" + thistime + "' AND '" + thistime + "-" + ((3600*4)* 6 * graphdays) + "') ORDER BY Time ASC;";
strings[1] = "SELECT Value, Time FROM ProdData_" + houseid + "_" + batchno + " WHERE CodeID = 1021 AND Value IS NOT NULL AND (Time BETWEEN '" + thistime + "' AND '" + thistime + "-" + ((3600*4)* 6 * graphdays) + "') ORDER BY Time ASC;";
Hvis du vil prøve at få det til at virke med between har du så prøvet:
strings[0] = "SELECT Value, Time FROM ProdData_" + houseid + "_" + batchno + " WHERE CodeID = 1020 AND Value IS NOT NULL AND Time BETWEEN '" + thistime + "' AND '" + thistime + "-" + ((3600*4)* 6 * graphdays) + "' ORDER BY Time ASC;";
strings[1] = "SELECT Value, Time FROM ProdData_" + houseid + "_" + batchno + " WHERE CodeID = 1021 AND Value IS NOT NULL AND (Time BETWEEN '" + thistime + "' AND '" + thistime + "-" + (3600*4*6*graphdays) + "') ORDER BY Time ASC;";
Den er fjernet her, om det løser det ved jeg ikke, men den er helt overflødig da du alligevel multiplicere alle tallene.
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.