Avatar billede prysse Nybegynder
21. januar 2003 - 14:55 Der er 8 kommentarer og
1 løsning

Har problemer med min kode...

Her er min kode... Der er et eller anden galt men kan ikke se hvad det er... I for hele koden så der ikke skulle gås galt af noget...

Jeg får denne fejl når jeg laver et post i mit nyhedssystem

Fejltype:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E07)
[Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i kriterieudtrykket.
/news/pw_opret.asp, line 46


Koden kommer her...

<%
Option Explicit
Dim Conn, DSN, vbGenerel, strIndsatAf, strNavn, strSQL, strKlar,  strTil,  strAf,  strKorsel, strLeder, VisNyheder
Response.Buffer=True
%>
<%
If session("godkendt") = False then
  Response.Redirect "login.asp"
Else
End If
%>
<!--#include file="dbconn.inc"-->
<html>
<head>
<title>??</title>
<link rel="stylesheet" href="style.css" type="text/css">
</head>

<body>

<%
If Request.Form("klar")<>"" And Request.Form("navn")<>"" Then
  strKlar = Replace(Request.Form("klar"), vbcrlf, "<br>")
  strKlar = Replace(strKlar, "'", "''")

  strSQL = "Insert into Nyheder ("

  strSQL = strSQL & "Klar, "
  strSQL = strSQL & "Dato, "
  strSQL = strSQL & "Til, "
  strSQL = strSQL & "Af, "
  strSQL = strSQL & "Korsel, "
  strSQL = strSQL & "Leder, "
  strSQL = strSQL & "IndsatAF) "

  strSQL = strSQL & "values("

  strSQL = strSQL & "'" & strKlar & "', "
  strSQL = strSQL & "'" & strTil & "', "
  strSQL = strSQL & "'" & strAf & "', "
  strSQL = strSQL & "'" & strKorsel & "', "
  strSQL = strSQL & "'" & strLeder & "', "
  strSQL = strSQL & "'" & Request.Form("dato") & "', "
  strSQL = strSQL & "'" & strNavn & "') "

  Conn.Execute(strSQL)

Conn.Close
Set Conn = Nothing

Response.Redirect ("pw_admin.asp")

Else

%>
<FORM method="post" action="pw_opret.asp" name="pwopret">
<table border=1 cellspacing=2 cellpadding=0 width='500' align=center style=border-collapse:collapse bordercolor=000000>
<tr><td width="70%">
Oprettet <% Response.Write FormatDateTime(Now, vbGenerel) %>
<input type="hidden" name="dato" size="30" readonly=yes value="<% Response.Write FormatDateTime(Now, vbGenerel) %>"></td>
<td width="30%">
<input type="text" name="navn" size="20" value="Dit navn her">
</td></tr><tr><td colspan="2">
<input name="klar" type="text" value="Skriv nyhed her..." size="60"><BR><BR>
<input name="til" type="text" value="Skriv nyhed her..." size="60"><BR><BR>
<input name="af" type="text" value="Skriv nyhed her..." size="60"><BR><BR>
<input name="korsel" type="text" value="Skriv nyhed her..." size="60"><BR><BR>
<input name="leder" type="text" value="Skriv nyhed her..." size="60">
</td></tr><tr><td colspan="2">
<INPUT TYPE="Submit" VALUE="Opret nyhed">
&nbsp;&nbsp;&nbsp;&nbsp;
<INPUT TYPE="Reset" VALUE="Nulstil alt">
</td></tr></table> 
</FORM>
<%
End if
%>
</body>
</html>
Avatar billede Spotgun Seniormester
21. januar 2003 - 14:57 #1
Du har et problem med nogle datatyper der ikke stemmer overens. Check de værdier du bruger i insert-sql'en, og se om de passer med hvad der kan hældes i tabellen. Check også om nogle måske er null, hvor null-værdier ikke accepteres!
Avatar billede bennytordrup Nybegynder
21. januar 2003 - 15:06 #2
Så vidt jeg kan se på din kode, så koder du med Access, og så er dette en forkert gruppe. Dette er Microsoft SQL Server.

Flyt spørgsmålet ved at lægge et svar selv og acceptere dette og derefter oprette i Databaser, Access
Avatar billede bennytordrup Nybegynder
21. januar 2003 - 15:08 #3
Bortset fra det, så skal følgende del:

  strSQL = "Insert into Nyheder ("

  strSQL = strSQL & "Klar, "
  strSQL = strSQL & "Dato, "
  strSQL = strSQL & "Til, "
  strSQL = strSQL & "Af, "
  strSQL = strSQL & "Korsel, "
  strSQL = strSQL & "Leder, "
  strSQL = strSQL & "IndsatAF) "

  strSQL = strSQL & "values("

  strSQL = strSQL & "'" & strKlar & "', "
  strSQL = strSQL & "'" & strTil & "', "
  strSQL = strSQL & "'" & strAf & "', "
  strSQL = strSQL & "'" & strKorsel & "', "
  strSQL = strSQL & "'" & strLeder & "', "
  strSQL = strSQL & "'" & Request.Form("dato") & "', "
  strSQL = strSQL & "'" & strNavn & "') "

laves om til

  strSQL = "Insert into Nyheder ("

  strSQL = strSQL & "Klar, "
  strSQL = strSQL & "Dato, "
  strSQL = strSQL & "Til, "
  strSQL = strSQL & "Af, "
  strSQL = strSQL & "Korsel, "
  strSQL = strSQL & "Leder, "
  strSQL = strSQL & "IndsatAF) "

  strSQL = strSQL & "values("

  strSQL = strSQL & "'" & strKlar & "', "
  strSQL = strSQL & "#" & Request.Form("dato") & "#, "
  strSQL = strSQL & "'" & strTil & "', "
  strSQL = strSQL & "'" & strAf & "', "
  strSQL = strSQL & "'" & strKorsel & "', "
  strSQL = strSQL & "'" & strLeder & "', "
  strSQL = strSQL & "'" & strNavn & "') "

da værdierne skal passe overens med feltrækkefølgen. Desuden skal du bruge # omkring dato-konstanter, hvilket jeg vil mene, at Request.Form("dato") returnerer.
Avatar billede prysse Nybegynder
21. januar 2003 - 15:23 #4
Benny Tordrup>>

Når jeg ændrer til det du har skrevet får jeg denne fejlmeddelse

Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access-driver] Feltet "Nyheder.til" kan ikke indeholde en streng af længden nul.
/news/pw_opret.asp, line 46

Til Shotgun>>

Had mener du... Er ikke helt så god i feltet
Avatar billede bennytordrup Nybegynder
21. januar 2003 - 15:29 #5
Ret linien

strSQL = strSQL & "'" & strTil & "', "

til

strSQL = strSQL & iif(len(strTil) = 0, NULL,  "'" & strTil & "', ")
Avatar billede bennytordrup Nybegynder
21. januar 2003 - 15:30 #6
Rettelse:

strSQL = strSQL & iif(len(strTil) = 0, NULL,  "'" & strTil & "'") & ", "
Avatar billede prysse Nybegynder
21. januar 2003 - 16:50 #7
Hmmm... Intet af det virker
Avatar billede Spotgun Seniormester
21. januar 2003 - 17:31 #8
prysse: det du forsøger at indsætte i feltet "nyheder.til" indeholder ikke noget. Og databasen vil ha' en værdi indsat, derfor brokker den sig! Lav enten databasen om, så den vil acceptere tomme værdier, eller sørg for at der er værdier i de variabler du henter fra formularen!
Avatar billede prysse Nybegynder
21. januar 2003 - 17:40 #9
Se det hjalp, men det gidder ikke oprette noget fra de andre felter i databasen
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
Computerworld tilbyder specialiserede kurser i database-management

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