webForumDet fria alternativet

Sql fråga

Databaser & SQL

13 svar · 164 visningar · startad av cHeMiCaL-X

Medlem sedan okt. 2001208 inlägg
Frågan#1
SQL = "SELECT * From '" & Request.Form("listbox") & "' Where Proname = '" &Request.Form("query")& "'"
Medlem sedan dec. 200012 464 inlägg
#2

SQL = "SELECT * From " & Request.Form("listbox") & " Where Proname = '" &Request.Form("query")& "'"

------------------
essentitia preter non sans multiplicandum

Medlem sedan okt. 2001208 inlägg
#3

förlåt.. jag glömde att skriva om mitt problem :)

testade med ditt exempel fick då detta felmeddelande:

Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause. 

/bypath/query.asp, line 11
Medlem sedan dec. 200012 464 inlägg
#4

Lägg in et testutskrift av strängen

response.write sql

Jag skulle tro att Request.Form("listbox") inte innehåller något värde

------------------
essentitia preter non sans multiplicandum

Medlem sedan okt. 2001208 inlägg
#5

Du hadde rätt ( som alltid ), men hur fixar jag detta?

så här ser det ut när jag skriver ut SQL strängen

SELECT * From Where Proname = '3d' 
Microsoft OLE DB Provider for ODBC Drivers error '80040e14' 

[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause. 

/bypath/query.asp, line 12

Skickar med koden för formuläret ( search.asp )...

<form method="POST" action="query.asp">
  <input type="text" name="query" size="20">
  <select size="1" name="listbox">
  <option selected>Section</option>
  <option>--------------</option>
  <option value="apps">Apps</option>
  <option value="covers">covers</option>
  <option value="console">console</option>
  <option value="games">games</option>
  <option value="movies">movies</option>
  <option value="music">music</option>
  </select><br>
  <br>
  <input type="submit" value="sök efter fanskapet" name="B1"></p>

[Redigerat av cHeMiCaL-X den 23 okt 2001]

Medlem sedan okt. 2001127 inlägg
#6

Du kan ju alltid lägga Request.Form("listbox") i en variabel och skriva ut den så du ser om du får ett värde från dropdown menyn,

------------------
Varje dag är en ny lektion ;)

Medlem sedan okt. 2001208 inlägg
#7

Löste det genom at byta namn i formuläret och motsvarande i sql frågan... Men nu till en annan fråga..

Jag vill kunna söka på till exempel kalle och då ska den visa alla titlar som har kalle i sig..

Medlem sedan okt. 2001127 inlägg
#8
select * from tabellen where fält like 'kalle%'

------------------
Varje dag är en ny lektion ;)

Medlem sedan okt. 2001208 inlägg
#9

Då ska det alltså vara ungefär så här:

SQL = "SELECT * From " & Request.Form("listbox") & " Where Proname LIKE'" &Request.Form("query")& "'"

[Redigerat av cHeMiCaL-X den 23 okt 2001]

Medlem sedan okt. 2001208 inlägg
#10

Så här ska det va:

SQL = "SELECT * From "&Request.Form("section")&" Where Proname like'"& Request.Form("query")&"%'"

TAck för hjälpen grabbar :e

Medlem sedan okt. 2001208 inlägg
#11

kom på en sak till.. Tänk dig att fältet ser ut så här

jag heter kalle och bor i....

då tar den inte med den databasposten..Utan den tar bara med databasposter som börjar med kalle

typ ett fält som ser ut som detta:

Kalle heter jag och bor i...

finns det nått sätt att fixa det här?

Tack för all tidigare hjälp ni rular!

[Redigerat av cHeMiCaL-X den 23 okt 2001]

Medlem sedan juni 200032 967 inlägg
#12

Släng in wildcard före sökordet också så funkar det.

SQL = "SELECT * From "&Request.Form("section")&" Where Proname like '%"& Request.Form("query")&"%'"

Mvh,

------------------
All your base are belong to me.

Medlem sedan dec. 200012 464 inlägg
#13
SQL = "SELECT * From "&Request.Form("section")&" Where Proname like '%"& Request.Form("query")&"%'"

------------------
essentitia preter non sans multiplicandum

Medlem sedan okt. 2001208 inlägg
#14

tack det funkade bra

som jag sa förut ni rular fett!

251 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)