Testa att använda '" & cusDataUPDATED & "' istället för #" & cusDataUPDATED & "# kan vara det som felar eftersom den klagar på datatypen.
Sen pröva med 1, 3 .. alltså adOpenKeyset och adLockOptimistic.
Bara en chansning här alltså..
4 svar · 725 visningar · startad av Snakes
Jag lyckas inte lägga in en ny post i en FoxPro databas.
Jag har testat både med RS.Update och "INSERT INTO", se felmeddelande och kod nedanför.
--------------------------------------------------------
Microsoft OLE DB Provider for Visual FoxPro fel '80004005'
Data type mismatch.
/readxml.asp, rad 6
Set Conn = CreateObject("ADODB.Connection")Conn.Open "Provider=vfpoledb.1;Data Source=" & Path & ";Collating Sequence=general"
cusDataSQL = "INSERT INTO GUEST ([SIGN],[UPDATED]) " & _
"VALUES ('" & cusDataSIGN & "',#" & cusDataUPDATED & "#)"
Set cusDataRS = Conn.Execute(cusDataSQL) [red]' Rad 6[/red]
cusDataRS.Close
Utskriven SQL: INSERT INTO GUEST ([SIGN],[UPDATED]) VALUES ('PRT',#2008-07-22#)
--------------------------------------------------------
ADODB.Recordset fel '800a0cb3'
Aktuellt Recordset kan inte uppdateras. Det kan bero på en begränsning av providern eller den valda låstypen.
/readxml2.asp, rad 7
Set Conn = CreateObject("ADODB.Connection")
Conn.Open "Provider=vfpoledb.1;Data Source=" & Path & ";Collating Sequence=general"
Set resNoteRS = Server.CreateObject("ADODB.Recordset")
resNoteRS.Open "SELECT TOP 1 * FROM GUEST ORDER BY N_NO", Conn, 2, 3 [red]' Testat med 3, 3 - Samma fel[/red]
resNoteRS.AddNew [red]' Rad 7[/red]
resNoteRS("SIGN") = "PRT"
resNoteRS("UPDATED") = dateNow
resNoteRS.Update
resNoteRS.Close
--------------------------------------------------------
SIGN är Charactar fält
UPDATED är Datum fält
Notera: Foxpro DBF databas, kanske dBase. Har inte en fpt fil, bara en cdx.
EDIT:
Det kan kanske vara relevant att detta fungerar:
Set getNoteID = Conn.Execute("SELECT TOP 1 N_NO FROM GUEST ORDER BY N_NO DESC")
resN_NO = getNoteID(0)
getNoteID.Close
Testa att använda '" & cusDataUPDATED & "' istället för #" & cusDataUPDATED & "# kan vara det som felar eftersom den klagar på datatypen.
Sen pröva med 1, 3 .. alltså adOpenKeyset och adLockOptimistic.
Bara en chansning här alltså..
Tack för svaret!
Testat med ' ' - fungerar ej, samma fel.
Testade nyss med 1, 3 - fungerar ej, samma fel.
Löste det.
Använd "INSERT INTO" metoden. Man ska omringa datum med {} istället för ##. Då funkar det.
Vad bra! :)