我有這個網站的一些代碼CodeProjectLink將數據錶轉換爲記錄集。此代碼一直工作正常,直到我換到.NET 4(以前是2),現在當我打電話下面一行:奇怪的錯誤將字段附加到VS2010中的記錄集轉換爲.NET後4
Dim result As New ADODB.Recordset()
result.CursorLocation = ADODB.CursorLocationEnum.adUseClient
Dim resultFields As ADODB.Fields = result.Fields
Dim inColumns As System.Data.DataColumnCollection = inTable.Columns
For Each inColumn As DataColumn In inColumns
' The next line gives the error
resultFields.Append(
inColumn.ColumnName,
TranslateType(inColumn.DataType),
inColumn.MaxLength,
IIf(inColumn.AllowDBNull,
ADODB.FieldAttributeEnum.adFldIsNullable,
ADODB.FieldAttributeEnum.adFldUnspecified),
Nothing)
Next
我得到這個奇怪的錯誤:
錯誤:缺少方法' 'ADODB.InternalFields'類的實例無效MYDLLNAME ADODB.Fields :: Append(字符串,值類型ADODB.DataTypeEnum,int32,值類型ADODB.FieldAttributeEnum,對象)。
我試圖改變我行只是:
resultFields.Append(inColumn.ColumnName, TranslateType(inColumn.DataType))
,但是這給了同樣的錯誤。 TranslateType函數正確返回ADODB.DataTypeEnum.adVarChar,所以這似乎也有效
我設法找到這個[1] http://social.msdn.microsoft.com/Forums/en-US/Vsexpressvb/thread/f84cdc9c-f684-46d6-9b6f-757d047b00d5這將暗示這是VS2010中的一個錯誤,當您使用.NET 4.0但不提供解決方法時! – 2011-02-24 13:03:19
你應該發表你的評論作爲答案。 – 2011-07-19 03:01:23