Avatar billede steen_hansen Forsker
28. oktober 2006 - 17:31 Der er 35 kommentarer og
4 løsninger

Hent det ID fra DB, som matcher Querystring

Jeg skal hente * fra DB, som matcher det ID, som står i Querstring.

<%
vID = Request.Querystring("ID")
vID = Int(vID)

SQL = "SELECT ID, xxxxxxxx, yyyyyy, zzzzzz FROM mintabel WHERE ID LIKE '" & vID & "'"
Set RS = Conn.Execute(SQL)
%>

- er mit umiddelbare bud, men det virker bare ikke. Det er MySQL. Nogen gode idéer?
Avatar billede mitbrugernavn Praktikant
28. oktober 2006 - 17:33 #1
SQL = "SELECT ID, xxxxxxxx, yyyyyy, zzzzzz FROM mintabel WHERE ID =" & vID
Set RS = Conn.Execute(SQL)

går ud fra at id er unik og talværdi
Avatar billede Jman Praktikant
28. oktober 2006 - 17:34 #2
øøøhmm.. ??

SQL = "SELECT * FROM mintabel WHERE ID = '" & vID & "'"
Avatar billede steen_hansen Forsker
28. oktober 2006 - 17:37 #3
mitbrugernavn: Den har jeg prøvet, virker desværre ikke :o/

superior: Den har jeg også prøvet, blev i tvivl om man skulle bruge LIKE til MySQL?
Avatar billede mitbrugernavn Praktikant
28. oktober 2006 - 17:38 #4
hvordan er dit id felt sat op i db
Avatar billede steen_hansen Forsker
28. oktober 2006 - 17:43 #5
ID
smallint(4)
Null = No
auto_increment
primary (blev lidt i tvivl om den er sat, hvordan tjekker jeg det?)
Avatar billede mitbrugernavn Praktikant
28. oktober 2006 - 17:48 #6
så burde du kunne hente med følgende

SQL = "SELECT FROM mintabel WHERE ID =" & vID
Set RS = Conn.Execute(SQL)
if not rs.eof then
do
response.write rs("ID")
rsnews.movenext

loop while not rs.eof
set rs= nothing
else
response.write "id findes ikke"
end if
Avatar billede steen_hansen Forsker
28. oktober 2006 - 17:56 #7
Mngler der ikke noget?

SQL = "SELECT [] FROM mintabel WHERE ID =" & vID
Avatar billede steen_hansen Forsker
28. oktober 2006 - 17:59 #8
Og det er vel de 2 nedenstående linier, jeg skal koncentrere mig om?

SQL = "SELECT FROM mintabel WHERE ID =" & vID
Set RS = Conn.Execute(SQL)
Avatar billede mitbrugernavn Praktikant
28. oktober 2006 - 18:01 #9
ja det er
Avatar billede mitbrugernavn Praktikant
28. oktober 2006 - 18:02 #10
prøv at udskriv din streng

SQL = "SELECT FROM mintabel WHERE ID =" & vID
'Set RS = Conn.Execute(SQL)
response.write SQL

hvad skriver den
Avatar billede steen_hansen Forsker
28. oktober 2006 - 18:02 #11
Bruger man ikke LIKE til MySQL? Jeg er ikke så vant til MySQL.
Avatar billede mitbrugernavn Praktikant
28. oktober 2006 - 18:07 #12
like bruges når man vil hente hvor request("id") indgår - d.v.s. at det er en del af indhold

og når man bruger Like er det med  LIKE '%" & vID& "%'
Avatar billede steen_hansen Forsker
28. oktober 2006 - 18:08 #13
SELECT ID, xxxxxxxx, yyyyyy, zzzzzz FROM mintabel WHERE ID =4

Microsoft VBScript runtime  error '800a000d'

Type mismatch

/members/showdocument.asp, line 42



Linie 42 = <title><%=RS("vHeadline")%></title>


ID = 4 er god nok, men det virker ikke som om, at vHeadline bliver trukket ud.
Avatar billede mitbrugernavn Praktikant
28. oktober 2006 - 18:13 #14
SQL = "SELECT FROM mintabel WHERE ID =" & vID
Set RS = Conn.Execute(SQL)
response.write RS("vHeadline")

prøv at undlade dine xxxx,yyyy,zzzz
Avatar billede steen_hansen Forsker
28. oktober 2006 - 18:17 #15
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[MySQL][ODBC 3.51 Driver][mysqld-4.0.18-nt]You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'FROM mintabel WHERE ID =4' at line 1

/members/showdocument.asp, line 24
Avatar billede steen_hansen Forsker
28. oktober 2006 - 18:18 #16
Sorry, forkert, øjeblik
Avatar billede steen_hansen Forsker
28. oktober 2006 - 18:19 #17
Det er det samme :o/
Avatar billede mitbrugernavn Praktikant
28. oktober 2006 - 18:19 #18
SQL = "SELECT * FROM mintabel WHERE ID =" & vID
Set RS = Conn.Execute(SQL)
response.write RS("vHeadline")
Avatar billede steen_hansen Forsker
28. oktober 2006 - 18:19 #19
Jeg skal spise, kigger ind senere.
Avatar billede steen_hansen Forsker
28. oktober 2006 - 18:20 #20
Linie 24 hedder     Set RS = Conn.Execute(SQL)
Avatar billede steen_hansen Forsker
28. oktober 2006 - 19:22 #21
Jeg håber der kommer nogen forslag, men indtil videre skal I have tak for Jeres input :o)
Avatar billede holmes2 Nybegynder
28. oktober 2006 - 23:27 #22
Prøv den her:

SQL = "SELECT * FROM mintabel WHERE id='" & vID & "'"
Set RS = Conn.Execute(SQL)

Det burde fungere
Avatar billede steen_hansen Forsker
29. oktober 2006 - 00:46 #23
Den er også prøvet for længe siden :o/

Jeg har prøvet at sætte vHeadline ind mellem <title> og </title>. Nu kommer der ikke nogen fejl, men jeg får flg., når jeg kigger i koden:

<title><font face="Arial" size=2>
<p>ADODB.Field</font> <font face="Arial" size=2>error '80020009'</font>
<p>
<font face="Arial" size=2>Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record.</font>
<p>
<font face="Arial" size=2>/members/showdocument.asp</font><font face="Arial" size=2>, line 0</font>

Det skulle have set sådan her ud:

<title><%=vHeadline%></title>

Det er når jeg prøver med:

SQL = "SELECT * FROM mintabel WHERE ID='" & vID & "'"
Set RS = Conn.Execute(SQL)

- jeg får denne fejl.
Avatar billede holmes2 Nybegynder
29. oktober 2006 - 00:50 #24
Hedder din tabel "mintabel" når skriver sådan virker det jo som om den ikke findes længere
Avatar billede holmes2 Nybegynder
29. oktober 2006 - 00:53 #25
Hvis du skal skrive noget i title linien ville jeg skrive det sådan her:
<title><% Response.Write ("" & rs("vHeadline") & "") %></title>
Avatar billede steen_hansen Forsker
29. oktober 2006 - 00:59 #26
Nej, den har et andet navn, men det står rigtigt.

Sorry, jeg havde selvfølgelig angivet RS:

<%=RS("vHeadline")%>

Det er slet ikke nødvendigt med Response.Write. Det er faktisk unødigt fyld :o)
Avatar billede holmes2 Nybegynder
29. oktober 2006 - 01:02 #27
ok, jeg har bare haft problemer med det før.
Jeg må i seng.. held og lykke med problemet.
Hvis du ligger hele din kode, vil jeg gerne se den igennem imorgen,
hvis det ikke løser sig i løbet af natten :-)
Avatar billede steen_hansen Forsker
29. oktober 2006 - 01:06 #28
Det giver ingen problemer, resultatet er det samme. Din metode var den man brugte før i tiden.

Tak for indsatsen - og sov godt :o)
Avatar billede tjaz Nybegynder
29. oktober 2006 - 14:20 #29
har du overvejet om den er case sensitive ... dvs hedder ID og ID i din tabel og ikke id ... står der id i din querystring og ikke ID ... har du prøvet med

"SELECT * FROM mintabel WHERE ID = "& int(vID) &""

Er du sikker på at post 4 findes? det virker nemlig ikke sådan:
"Either BOF or EOF is True, or the current record has been deleted. Requested operation requires a current record."

Blot et par tanker jeg gjorde mig da jeg kiggede spm igennem.
Avatar billede tjaz Nybegynder
29. oktober 2006 - 14:22 #30
du kan evt også lave din smallint (i din tabel) om til en alm. int så er du sikker på, at den får samme type hvis du har int i din tabel og du prøvet med ovenstående select hvor du definere din variabel til at være int()
Avatar billede steen_hansen Forsker
29. oktober 2006 - 20:14 #31
Hej tjaz

Ja, jeg benytter ID/ID, ikke id/ID.

Ja, post 4 findes, jeg har tjekket og dobbelttjekket og tripletjekket.

Jeg prøver med en alm. INT i DB.

Jeg forstår ikke det skal være så svært, det er jo ganske alm. VB-scripting. Ikke noget kryptisk eller fancy i dét :o/
Avatar billede steen_hansen Forsker
29. oktober 2006 - 20:28 #32
Jeg tror jeg skylder en kvajebajer, for jeg må have været meget træt i går. Det var en simpel fejl 40.

mitbrugernavn
superior
holmes2
tjaz

- smid et svar. Det ovenstående virker fint.
Avatar billede holmes2 Nybegynder
29. oktober 2006 - 21:11 #33
he he ja det kender man alt for godt :-)
Avatar billede tjaz Nybegynder
29. oktober 2006 - 21:34 #34
here goes :) ... det var da godt du fik det til at virke :P
Avatar billede steen_hansen Forsker
29. oktober 2006 - 22:18 #35
Der kommer øjeblikke i ens liv, hvor man slår sig på panden og udbryder DOH! Sådan et øjeblik har jeg så lige haft :oD

Så mangler vi bare lige

mitbrugernavn
superior
Avatar billede mitbrugernavn Praktikant
09. november 2006 - 12:03 #36
du får et svar
Avatar billede steen_hansen Forsker
10. november 2006 - 18:18 #37
Takker. Så mangler vi kun superior.
Avatar billede Jman Praktikant
12. november 2006 - 06:21 #38
jo da
Avatar billede steen_hansen Forsker
12. november 2006 - 17:02 #39
Tak :o)
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