Avatar billede want2learn Nybegynder
20. marts 2004 - 02:55 Der er 18 kommentarer og
3 løsninger

vis den record der står i sql sætningen

jeg har denne sql sætning som SKAL vise den record som har nr 1 i TID.

men jeg får en fejl:

Fejltype:
Der opstod en Microsoft VBScript-kompileringsfejl (0x800A03EE)
Tegnet ')' var ventet
/site/Default.asp, line 65, column 58
Set rs = cn.Execute("SELECT * FROM text WHERE TID =""1"")"
---------------------------------------------------------^

hvad er fejlen ved min sql code !?
Set rs = cn.Execute("SELECT * FROM text WHERE TID =""1"")"
Avatar billede want2learn Nybegynder
20. marts 2004 - 03:34 #1
eller hvis jeg bruge dette i stedet

Set rs = Server.CreateObject("ADODB.RecordSet")
sql = "SELECT TID,Text,Date FROM text WHERE TID = 1"
rs.Open sql, cn

får jeg denne fejl

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i FROM-delsætningen.
/site/Default.asp, line 67

linje 67

rs.Open sql, cn
Avatar billede nute Nybegynder
20. marts 2004 - 06:20 #2
text er nok et dårlig valg af kolonnenavn, da jeg mener dette reserveret ( det samme gælder for 'Date')... så skal du sætte [] omkring

hvis din 'TID' kolonne er numerisk (kolonne der kun tillader tal), så skal du ikke have '' omkring værdien i din where-clause, men det skal du have hvis det er en alfa-numerisk kolonne (kolonne der tillader alle tegn)

jeg kan forestille mig at din sql skal se sådan ud:

sql = "SELECT TID,[Text],[Date] FROM [text] WHERE TID = '1'"
Avatar billede want2learn Nybegynder
20. marts 2004 - 09:59 #3
jeg får denne fejl nu når jeg har rettet til det du har givet mig

Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.
/site/Default.asp, line 67
Avatar billede deeflate Nybegynder
20. marts 2004 - 10:20 #4
Så skal '' om 1-tallet væk.
Avatar billede want2learn Nybegynder
20. marts 2004 - 11:37 #5
der er ikke noget " om 1-tallet det er 2 ' og så skal jeg selvf. afslutte med et " da jeg starter SELECT med " .
Avatar billede deeflate Nybegynder
20. marts 2004 - 11:40 #6
det var også to '-er: ' '
;)
Avatar billede want2learn Nybegynder
20. marts 2004 - 11:49 #7
så er jeg jo tilbage ved udgangspunktet !? 8|
Avatar billede deeflate Nybegynder
20. marts 2004 - 11:52 #8
Nej, der kommet [] om de ord, der er reserverede.
Avatar billede nute Nybegynder
20. marts 2004 - 11:55 #9
så vis os hvordan du åbner din connection ...

/nute
Avatar billede want2learn Nybegynder
20. marts 2004 - 16:06 #10
jeg får denne fejl når jeg fjerner de to ' tegn.

FEJL:
Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E10)
[Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 1.
/site/Default.asp, line 67

Min DB CODE:
Function db_text()
        Set cn = Server.CreateObject("ADODB.Connection")
        cn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("include/db/text.mdb") & ""
End Function

min SIDE CODE:
db_text()

Set rs = Server.CreateObject("ADODB.RecordSet")
sql = "SELECT TID,[Text],[Date] FROM [text] WHERE TID = 1"
rs.Open sql, cn
Avatar billede nute Nybegynder
20. marts 2004 - 16:39 #11
prøv at sæt:

Dim cn

i linien over

Function db_text()

/nute
Avatar billede want2learn Nybegynder
20. marts 2004 - 16:53 #12
jeg har selvf. denne dim linje lige længere oppe:

Dim cn, rs, sql, tb_width, tb_height, s
Avatar billede nute Nybegynder
20. marts 2004 - 17:03 #13
det er ikke selvfølgelig ;o]

hvilken linie er 67 ? er det rs.open ?
Avatar billede want2learn Nybegynder
20. marts 2004 - 17:13 #14
ja det er det !!

og jo for mig er det en selvfølge ;) men måske ikke for nogle !!
Avatar billede want2learn Nybegynder
20. marts 2004 - 20:34 #15
jeg legede lige lidt med det og ændrede nogle navne:

db_text() 'Åbning af databasen for text

Set rs = Server.CreateObject("ADODB.RecordSet")
sql = "SELECT TID,Tekst,Dato FROM sidetekst WHERE TID = 1"
rs.Open sql, cn

tekst = rs("Tekst")
ittb = rs("Dato")
ittb = replace(ittb," ","")
ittb = replace(ittb,":","")
ittb = replace(ittb,"-","")

og rettede min DB og nu virker det !!
Avatar billede nute Nybegynder
21. marts 2004 - 19:46 #16
hvad gjorde du for at få det til at fungere?

og jo ... det kan godt være at du tager det som en selfølge at Dimme dine variabler, men du skal huske på at det ikke er alle der tænker og koder som dig :-) jo ... jeg tager det også som en selvfølge at Dimme mine variabler og objekter, og jeg koder altid med option explicit, men det giver mig stadig ingen grund til at tro at alle mine "kode kolleger" gør det samme. En anden ting der skal skrives bagom øret, er at når man beder om at få hjælp her inde, så bør man poste "al relevant kode". Jeg mener at "relevant kode" i denne sammenhæng vil være at poste med 'Dim cn' hvis 'cn' bruges i den postede kode :-)

Grunden til at jeg spørger om den var dimmet, var fordi jeg besvaret et andet spm kort tid før jeg svarede dig, hvor connection ikke var dimmet, og blev initialiseret inde i en funktion - resultat: skidtet fungerede, på mystisk vis, ikke ;o]

Ting der er en selvfølge for dig, er *ikke* en selvfølge for andre. Jeg ved at det er mindre pænt at sige om brugere her inde, men man bør faktisk i udgangspunktet tro at de er "dumme". Med dette, mener jeg at man bør prøve at stille spm om alle de (for en selv) "indlysende" ting, nettop for at udelukke at det er disse ting der er grunden til fejlen. Det tilsvarer det samme som hvis man ringer til support hos et eller andet IT-firma, hvor de gennemgår en række spørgsmål. Det første spørgsmål kan godt være "har du tændt for din computer". Ved at tro at brugeren, der stiller spørgsmålet, er "dum", så får man også vendt alle fejlkilder for, at bagefter at kunne give et "perfekt" svar. Det er ikke negativt at tro brugeren er "dum" ... det er blot et hjælpemiddel til at kunne give et godt svar. :o]

/nute

PS! når jeg udtaler mig om "dumme" brugere, så er det ikke et udtryk for hvad jeg mener eller tror brugerens IQ er ... den har jeg intet grundlag for at kommentere
PPS! Det er ikke rettet mod personen der stiller spørgsmålet, men mod brugerens kodeskik
PPPS! Du skal ikke tage dette med "dumhed" til dig, for det er ikke rettet mod dig, men er blot en udtalelse baseret på generelle betragtninger og erfaringer på E!

:o]
Avatar billede want2learn Nybegynder
21. marts 2004 - 20:05 #17
Jeg gjorder bare det jeg skrev i:

Kommentar: want2learn
20/03-2004 20:34:13


men tror det var det med DATE og TEXT som du snakkede om at det måtte jeg helst ikke bruge medmindre der var i [] så da det ikke virkede rettede jeg teksterne til dansk og det virkede !!
Avatar billede nute Nybegynder
21. marts 2004 - 20:12 #18
ahh ... skummelt :-) men alligevel godt at det fungerede. jeg smider et svar hvis du ønsker at lukke, men jeg synes nu ikke jeg fortjener at få alle dine points ... du må meget gerne beholde de fleste selv

/nute
Avatar billede want2learn Nybegynder
21. marts 2004 - 20:18 #19
Du brugte tid på mig så vi kan dele dem !! ;)
Avatar billede nute Nybegynder
21. marts 2004 - 20:21 #20
det er fair ... og tak for points :)
Avatar billede want2learn Nybegynder
03. maj 2004 - 01:22 #21
Dette er da blevet lukket får ved ikke hvorfor det står som åbent nu igen og kan ikek huske hvem der fik point men hvis nogle har fået trukket dem fra igen så skriv
eksperten har jo været nede så det kan være en fejl !!
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