У меня есть приложение VB6, которое подключается к серверу SQL Server с помощью ADODB 2.8 . Я объявил привязки и наборы записей. Информация отображается правильно. Тем не менее, когда я пытаюсь обновить любое поле, я получаю сообщение об ошибке:
Ошибка сбора привязки
Поле не может быть изменено, Имя свойства привязки: текст, Имя поля: DTMOUVEMEN
Я почти уверен, что это как-то связано с тем, как создается ADODB.Recorset, но я понятия не имею, VB6 - не моя область знаний.
Текстовое поле в моей форме, привязанное к ADODC, выглядит следующим образом
Begin VB.TextBox DTMOUVEMENT
BackColor = &H00E0E0E0&
DataField = "DTMOUVEMEN"
DataSource = "DataTYPEMOUVEMENTADO"
Height = 315
Left = 2820
Locked = -1 'True
TabIndex = 1
TabStop = 0 'False
Text = "DTMOUVEMENT"
Top = 2820
Width = 2895
End
Компонент ADODC определен так
Begin MSAdodcLib.Adodc DataTYPEMOUVEMENTADO
Height = 330
Left = 5800
Top = 2500
Width = 2295
_ExtentX = 4048
_ExtentY = 582
ConnectMode = 0
CursorLocation = 3
IsolationLevel = -1
ConnectionTimeout= 15
CommandTimeout = 30
CursorType = 3
LockType = 3
CommandType = 8
CursorOptions = 0
CacheSize = 50
MaxRecords = 0
BOFAction = 0
EOFAction = 0
ConnectStringType= 1
Appearance = 1
BackColor = -2147483643
ForeColor = -2147483640
Orientation = 0
Enabled = -1
Connect = ""
OLEDBString = ""
OLEDBFile = ""
DataSourceName = ""
OtherAttributes = ""
UserName = ""
Password = ""
RecordSource = ""
Caption = "DataTYPEMOUVEMENTADO"
BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851}
Name = "MS Sans Serif"
Size = 8.25
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
_Version = 393216
End
Компонент ADODC связывается следующим образом
strSQL = "here goes the sql query"
Set adoRS = New ADODB.Recordset
With adoRS
.CursorLocation = adUseServer
.CursorType = adOpenDynamic
.LockType = adLockOptimistic
.Open strSQL, adoDbConn
End With
Set Me.DataTYPEMOUVEMENTADO.Recordset = adoRS
Соединение определяется так
Set adoDbConn = New ADODB.Connection
' Specify the OLE DB provider.
adoDbConn.Provider = "sqloledb"
adoDbConn.Mode = adModeReadWrite
adoDbConn.Open "connection string data"