sql >> Database >  >> RDS >> Mysql

Geïndexeerd MySQL-veld slaat geen waarde op bij het maken/bewerken van een record via ADO

Ik heb uw probleem kunnen reproduceren met de 64-bits versie van het MySQL ODBC 5.3 Unicode-stuurprogramma (5.03.04.00). Het lijkt een probleem te zijn met ADO Recordset-updates wanneer de laatste kolom in de tabel van het type TEXT is . Ik had niet eens een index op userid en ik kreeg dezelfde resultaten.

Een mogelijke oplossing zou zijn om een ​​ADODB.Command . te gebruiken met parameters om het invoegen uit te voeren met behulp van code die lijkt op deze:

Dim oConn As ADODB.Connection
Dim cmd As ADODB.Command

Set oConn = New ADODB.Connection
oConn.Open _
        "Driver=MySQL ODBC 5.3 Unicode Driver;" & _
        "SERVER=localhost;" & _
        "UID=root;" & _
        "PWD=whatever;" & _
        "DATABASE=mydb;" & _
        "PORT=3306;" & _
        "DFLT_BIGINT_BIND_STR=1"

Set cmd = New ADODB.Command
cmd.ActiveConnection = oConn
cmd.CommandText = _
        "INSERT INTO phplist_user_user_history " & _
        "(`userid`, `ip`, `date`, `Summary`, `Detail`, `systeminfo`) " & _
        "VALUES (?,?,?,?,?,?)"
cmd.Parameters.Append cmd.CreateParameter("?", adInteger, adParamInput, , 456)
cmd.Parameters.Append cmd.CreateParameter("?", adVarWChar, adParamInput, 255, "")
cmd.Parameters.Append cmd.CreateParameter("?", adDBTimeStamp, adParamInput, 255, Now)
cmd.Parameters.Append cmd.CreateParameter("?", adVarWChar, adParamInput, 255, "cHistory.Subject")
cmd.Parameters.Append cmd.CreateParameter("?", adLongVarWChar, adParamInput, 2147483647, "cHistory.Body")
cmd.Parameters.Append cmd.CreateParameter("?", adLongVarWChar, adParamInput, 2147483647, "Automated syncronization process.")
cmd.Execute

Set cmd = Nothing
oConn.Close
Set oConn = Nothing

Ik heb het getest vanuit een Access 2010-database en het werkte prima voor mij.



  1. Hoe kan ik een databaseschema instellen waarbij er twee gelijktijdige veel-veel-relaties zijn?

  2. MySQL InnoDB Cluster 8.0 - Een complete implementatie-walk-through:deel één

  3. Databewuste componenten van Delphi gebruiken - voor- en nadelen

  4. Query om dubbele gegevens uit de MYSql-tabel te vinden en te verwijderen