Avatar billede west Nybegynder
16. marts 2003 - 00:18 Der er 15 kommentarer og
2 løsninger

datatype mismatch ??

jeg får denne besked, men da linie 29 indeholder ca. 50 felter, er jeg i tvivl om hvor og hvad der er galt ?

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

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/nythus.asp, line 29
Avatar billede no_doubt Nybegynder
16. marts 2003 - 00:20 #1
må vi se koden
Avatar billede hossein Nybegynder
16. marts 2003 - 00:27 #2
Den indtastede værdi har ikke samme datatype som feltets datatype i tabelen. Hvis du indtaster 15-03-2003 som er en dato men feltet i tabellen er tekst, så er: "Datatype mismatch"
Avatar billede west Nybegynder
16. marts 2003 - 00:28 #3
den er ekstrem laaaang, men kan man isolere felterne en eftre en for at finde fejlen ?
Avatar billede west Nybegynder
16. marts 2003 - 00:29 #4
skulle tekst ikke acceptere alt (både tal og bogstaver) ?
Avatar billede eagleeye Praktikant
16. marts 2003 - 00:29 #5
Alle fejlter som er defineret som tal i databasen skal der ikke ' omkring. Der skal ' omkring teskt og notat felterne.
Avatar billede eagleeye Praktikant
16. marts 2003 - 00:30 #6
Jo hvis du har ' omkring :

INSERT INTO xxx  (yy,cc) VALEUS ('2','hej')
Avatar billede west Nybegynder
16. marts 2003 - 00:34 #7
ALLE felter er lavet som tekst eller notat, og her er  et udpluk af række 29, der eer ' omkring alle felter.

,'" & upload.Form("dk") & "','" & upload.Form("gb") & "','" & upload.Form("d") & "','" & upload.Form("link") & "','" & upload.Form("kodeord") & "'
Avatar billede hossein Nybegynder
16. marts 2003 - 00:34 #8
ok, jeg var hurtig, tekst accepter alt, hvis du sender tekst til et felt som har dattypen tal så er det mismatch.
Avatar billede west Nybegynder
16. marts 2003 - 00:42 #9
en ting jeg lige tænkte :

der er nogle "checkboxe" dem har jeg også givet ' ' skal de ikke det ?
Avatar billede eagleeye Praktikant
16. marts 2003 - 00:43 #10
Hvis teksten indholder 'er så skal en ' udskiftes med to '

,'" & Replace(upload.Form("dk"),"'","''") & "','" & upload.Form("gb") & "','" & upload.Form("d") & "','" & upload.Form("link") & "','" & upload.Form("kodeord") & "'
Avatar billede eagleeye Praktikant
16. marts 2003 - 00:47 #11
Er de fejler også tekst? eller Ja/Nej felt?
Avatar billede west Nybegynder
16. marts 2003 - 00:51 #12
jeg ved ikke hvad der giver fejlen, men checkboxene er ja/nej felter.
Avatar billede eagleeye Praktikant
16. marts 2003 - 00:57 #13
Ja de skal indsættes som tal felter uden ' og så skal man bruger true eller 1 for Ja og false eller 0 for Nej. Man er nød til at tjekke om den er valgt da man får den værdi som er i value delen for checkboksen hvis den er valgt.:

if Requst.Form("cb_felt") = "" then
  cb_felt = false
else
  cb_felt = true
end if


Og SQL delen:
," & cb_felt & ",'TEKST'"
Avatar billede hossein Nybegynder
16. marts 2003 - 01:01 #14
Hvis du har en checkbox i din form:
<input type="checkbox" name="active" value=1>

---< insert.asp  >----
active=request.form("active")
'hvis den er ikke valgt så sættes til 0
if active = "" then active = 0

Set MyConn=Server.CreateObject("ADODB.Connection")
connStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Databases.mdb"


SQL = "Insert Into minTabel(Active) Values('"&active&"')"

MyConn.Open connStr
MyConn.Execute(SQL)
....
Avatar billede west Nybegynder
16. marts 2003 - 01:02 #15
er det ikke kun når man opdaterer at man er nød til at tjekke den ?
Avatar billede eagleeye Praktikant
16. marts 2003 - 01:04 #16
Nej for man får kun værdien af check boken og ikke et true/false for om den er valgt.
Avatar billede hossein Nybegynder
16. marts 2003 - 01:04 #17
Nej, ellers får man fejl besked.
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