Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bidang MySQL yang diindeks tidak menyimpan nilai saat membuat/mengedit catatan melalui ADO

Saya dapat membuat ulang masalah Anda dengan versi 64-bit dari MySQL ODBC 5.3 Unicode Driver (5.03.04.00). Tampaknya ada masalah dengan pembaruan ADO Recordset ketika kolom terakhir dalam tabel bertipe TEXT . Saya bahkan tidak memiliki indeks di userid dan saya mendapatkan hasil yang sama.

Salah satu solusi yang mungkin adalah menggunakan ADODB.Command dengan parameter untuk melakukan penyisipan menggunakan kode yang mirip dengan ini:

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

Saya mengujinya dari database Access 2010 dan berfungsi dengan baik untuk saya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tidak dapat menginstal permata mysql2 di macOS Sierra

  2. Golang RESTful API load testing menyebabkan terlalu banyak koneksi database

  3. Sisipkan kueri dengan gabungan dalam

  4. Pilih batas catatan unik dengan N baris

  5. Bagaimana cara memeriksa apakah dua rentang tanggal tumpang tindih di mysql?