[VB6/MySQL/ODBC] Datum select query

Pagina: 1
Acties:
  • 163 views sinds 30-01-2008
  • Reageer

  • Eastern
  • Registratie: Augustus 2000
  • Laatst online: 24-06 22:21
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Dim rs As ADODB.Recordset
Dim SQL As String

Dim ftp As ftpconnection
Dim ftpbase As String

Set rs = New ADODB.Recordset

SQL = "SELECT id, naam, omschrijving, gemaaktdoor, gemaaktdatum " & _
"FROM toetsen WHERE (id='" & Trim(Str(Opdracht)) & "');"

rs.Open SQL, conn, adOpenStatic, adLockReadOnly

If rs.RecordCount <> 0 Then
' doe iets
End if


Deze code gaat fout omdat 'gemaaktdatum' een datum veld is. VB (of ODBC eigenlijk) geeft de volgende fout terug:

-2147467259: De gegevensvoorziening of een andere service heeft de status E_FAIL geretourneerd.

Ik gebruik VB6, MyODBC 3.51 en MySQL 4.0.14-nt

  • curry684
  • Registratie: Juni 2000
  • Laatst online: 13-08 16:46

curry684

left part of the evil twins

En je vraag is....? :?

Professionele website nodig?


  • Eastern
  • Registratie: Augustus 2000
  • Laatst online: 24-06 22:21
Sorry, maar de vraag is: waarom gaat deze fout en hoe los ik dat op? Bij tekstvelden en integers is er geen probleem. Dit is een datum (date) veld.

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Op welke regel krijg je die fout dan?
Hoe lees je die datum uit?
Heb je al eens gedebugged?

https://fgheysels.github.io/


  • Eastern
  • Registratie: Augustus 2000
  • Laatst online: 24-06 22:21
Dat komt bij rs.recordcount, die staat op <De gegevensvoorziening of een andere service heeft de status E_FAIL geretourneerd.>. Als je alleen de tekstvelden opvraagd gaat het wel goed.

Edit: hij gaat flippen als er geen datum is ingevuld, dus een datum van 0000-00-00 is incorrect en wordt niet geaccepteerd :(

Klaar!

[ Voor 30% gewijzigd door Eastern op 23-09-2003 12:20 ]


Verwijderd

I've had the same problem when I used date field and the default value was set to null. Mysql assumes that the default value for a date field is 0000-00-00 and vb doesn't understand this!!
Try to set the default values for the date and time fields to a real value (1900-01-01) or something like this that you can manage easilly
Dit heb ik via google gevonden.

Maar dat had je zelf al gevonden :)

[ Voor 9% gewijzigd door Verwijderd op 23-09-2003 12:23 ]

Pagina: 1