21. august 2006 - 09:45Der er
25 kommentarer og 2 løsninger
simpel sql statement med where virker ikke ?
Hej,
Jeg er løbet ind i et lille problem, af en eller anden grund vil følgende SQL stament ikke virke:
Select * From PS where sek="+ id
id er en querystring som fx. kan være kokken eller bad.
Men hvis jeg bare sætter den ind i min query analyser så ser den sådan ud:
SELECT Id, text, skab, sek, navn, mainPic FROM PS WHERE (sek = 'kokken')
Så for jeg følgende fejl: The datatypes text and vachar are incompatible in the equal to operator
Hvis jeg skriver det sådan her :
SELECT Id, text, skab, sek, navn, mainPic FROM PS WHERE (sek = kokken) Så for jeg bare at vide at kokken ikke er en valid kolonne. Min table ser sådan ud Id int text text skab int sek text navn text
Når du nu bruger SQL Server (MS SQL) så skal du desuden overveje om du overhovedet skal bruge typen TEXT til dine felter - ofte et VARCHAR(x) et menet bedre valg.
Hverken dit sek-, eller dit navn-felt, lyder som om at de skulle være af typen TEXT, og det er helt sikkert sek-tilfældet der fejler for din SQL-sætning.
Dit felt context kunne muligvios godt lægge op til at være TEXT...
Felter af typen TEXT er beregnet til at indeholde store mængder af tekst. En VARCHAR(50) er domensioneret til at indeholde maks 50 tegn. Det er vel ingen grund til at fråse med pladsen i databasen?
Synes godt om
Slettet bruger
21. august 2006 - 10:31#22
Prøv at udskrive din sql til siden - id indeholder måske ikke det, du regner med.
Synes godt om
Slettet bruger
21. august 2006 - 10:32#23
og paste din sql her hvis du ikke selv kan regne fejlen ud.
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.