我编写了一个 Excel VB 应用程序,它可以访问并在需要时修改 SQLCE 数据库。这是vba中的连接字符串:
dbConnectionString = "Provider=Microsoft.SQLSERVER.CE.OLEDB.3.5;Data Source=C:\sitsDB.sdf;"
我几乎完成了这个项目,一切都很好,除了我想扩展 SQLCE 数据库文件中的一个字段以允许存储更多字符。
该字段属于数据类型nvarchar
,默认长度为 100(显然应该允许 50 个字符?)
我希望至少在其中存储 200 个字符的打开文本框需要该字段。
我在 Microsoft Visual Basic 2010 Express 中创建了初始数据库,当我将字段长度更改为nvarchar
大于 100 的任何值时,当我的SQL SELECT
语句运行时出现以下错误:
运行时错误“-2147217887 (80040e21)”:多步操作产生错误。检查每个状态值。
这是 VBA 中的 SQL 语句:
With rsResults
.Source = "SELECT * FROM Incidents WHERE Number = " & number
Set .ActiveConnection = dbConnection
.CursorLocation = adUseClient
.CursorType = adOpenStatic
.Open
End With
错误发生.Open
在线路上。
我可以更改SELECT * FROM
以仅选择某些列,消除长度大于 100 的字段,并且一切都会按预期工作。
所以,这绝对是一个字段的长度大于 100 的事实。如果我将该字段恢复为 100 的长度,一切都会正常工作......
我不太了解我在那里使用的.CursorLocation
和功能。.CursorType
我通过示例学习,这是我首先找到的示例。
任何帮助将不胜感激!