Avatar billede no_doubt Nybegynder
02. september 2004 - 23:26 Der er 8 kommentarer og
2 løsninger

kan man ikke gøre sådan

I den ene tabel har jeg dataerne for diciplinerne, heriblandt hvad rekorden for en diciplin måles i. den hedder angives_i
Den vil jeg gerne bruge når jeg skal indtaste en anden rekord, men det ser ikke ud til at virker.

set conn = server.CreateObject("ADODB.Connection")
  conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db.mdb")
  strSQL = "SELECT * FROM diciplin navn = '" & Request.Form("D1") & "'"
  Response.write strSQL
  set rs = Conn.Execute(SQL)
 
  test = rs("angives_i")
  response.write test
 
set conn = server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db.mdb")

strNavn = Request.Form("rekord_navn")
strAlder = Request.Form("rekord_alder")
strKlasse= Request.Form("rekord_klasse")
strRekord = Request.Form("rekord")

if strAlder = "" then strAlder = "0"

sql = "INSERT INTO rekorder (diciplin, koen, navn, alder, klasse, rekord, dato, godkendt_af) VALUES"
sql = sql & " ('" & Request.Form("D1") & "', '" & Request.Form("D5") & "', '" & strNavn & "', "
sql = sql & "" & strAlder & ", '" & strKlasse & "', '"
sql = sql & strRekord & test &"', '" & Date & "', '" & Request.Form("D3") & "')"
Response.write sql
conn.execute(sql)
Response.write "Data gemt"
end if
%>
Avatar billede thesurfer Nybegynder
02. september 2004 - 23:46 #1
du mangler "where":

strSQL = "SELECT * FROM diciplin where navn = '" & Request.Form("D1") & "'"
Avatar billede no_doubt Nybegynder
02. september 2004 - 23:50 #2
Den spytter ikke test på
sql = sql & strRekord & test &"', '" & Date & "', '" & Request.Form("D3") & "')"
Avatar billede thesurfer Nybegynder
02. september 2004 - 23:56 #3
du checker ikke engang, om posten findes først..
hvis den ikke gør, vil du få en BOF/EOF fejl..
Avatar billede eagleeye Praktikant
02. september 2004 - 23:59 #4
Prøv at rette denne linje:

  set rs = Conn.Execute(SQL)

Til denne da din sql sætning er i variablen strSQL og ikke SQL:

  set rs = Conn.Execute(strSQL)
Avatar billede eagleeye Praktikant
03. september 2004 - 00:01 #5
Prøv også at slette de to linjer som åbner connection anden gang så disse linjer:

  response.write test
 
set conn = server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("db.mdb")

strNavn = Request.Form("rekord_navn")


Bliver til:

  response.write test
 
strNavn = Request.Form("rekord_navn")
Avatar billede no_doubt Nybegynder
03. september 2004 - 00:06 #6
og endnu et svar ?
Avatar billede eagleeye Praktikant
03. september 2004 - 00:08 #7
ok :)
thesurfer skal også svare så kan vi dele point, han havde fanget det med where :)
Avatar billede thesurfer Nybegynder
03. september 2004 - 00:13 #8
OK :-)
Avatar billede thesurfer Nybegynder
03. september 2004 - 00:15 #9
no_doubt> du burde vel ha fået en fejl her?: set rs = Conn.Execute(SQL)

Et godt råd: indsæt Option Explicit som den første linie, i dine asp filer. Du *skal* derefter definere *alle* variablerne..
Det gode ved det er, at den kan fortælle dig, når du har lavet en stavefejl, idet variabel (der er stavet forkert) ikke eksisterer..
Avatar billede thesurfer Nybegynder
03. september 2004 - 00:15 #10
Definere/"dimme": dim strSQL, conn, rs
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