再发:多步 OLE DB 操作产生错误

hg533 2008-03-05 11:19:15
开发语言:C#+WinForm
出错位置:强类型的DataSet读取时
运行平台:在XP下开发,在xp下运行正常,在vista下出现此错误
数据库是Access2000,在网上查到的原因大都是插入数据是类型不对或长度超长,但我这里只是读一下数据库为什么就出错了呢?还有就是在XP下一点问题也没有
数据库中只有一条记录,强类型DataSet执行的是 select id,memo,.... from db
这是我的测试源码,有用vista的朋友能否帮我试一下,谢谢
http://www.hinfo.cn/WindowsApplication1.rar
出错信息:
************** 异常文本 **************
System.Data.OleDb.OleDbException: 多步 OLE DB 操作产生错误。如果可能,请检查每个 OLE DB 状态值。没有工作被完成。
在 System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper)
在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.OleDb.OleDbConnection.Open()
在 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataTable[] dataTables, Int32 startRecord, Int32 maxRecords, IDbCommand command, CommandBehavior behavior)
在 System.Data.Common.DbDataAdapter.Fill(DataTable dataTable)
在 DbAccess.DataSetFanTableAdapters.FanUserTableAdapter.GetDataById(String guid)
在 xFan.UserInfoClass.GetData(String userID)
在 xFan.FrmSplash.FrmSplash_Load(Object sender, EventArgs e)
在 System.Windows.Forms.Form.OnLoad(EventArgs e)
在 System.Windows.Forms.Form.OnCreateControl()
在 System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
在 System.Windows.Forms.Control.CreateControl()
在 System.Windows.Forms.Control.WmShowWindow(Message& m)
在 System.Windows.Forms.Control.WndProc(Message& m)
在 System.Windows.Forms.ScrollableControl.WndProc(Message& m)
在 System.Windows.Forms.ContainerControl.WndProc(Message& m)
在 System.Windows.Forms.Form.WmShowWindow(Message& m)
在 System.Windows.Forms.Form.WndProc(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
...全文
399 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
hg533 2008-03-08
  • 打赏
  • 举报
回复
to:sdyqingdao 在vista下用管理员身份运行是可以的,是不是权限设置的问题,如何在安装程序时指定文件的权限?
hg533 2008-03-06
  • 打赏
  • 举报
回复
在线急等
hg533 2008-03-06
  • 打赏
  • 举报
回复
谢谢楼上回复,有什么解决办法吗?

另noOnlyCode:我没用odbc啊
sdyqingdao 2008-03-05
  • 打赏
  • 举报
回复
检查一下你的access数据库文件的权限,在XP和VISTA下面是不是一样的
ojekleen 2008-03-05
  • 打赏
  • 举报
回复
微软在封装oledb的时候就很不负任的。。
ex:
在parametercollection的索引就很有问题。。
noOnlyCode 2008-03-05
  • 打赏
  • 举报
回复
ODBC连接驱动有问题

你可以查看一下你计算机上的ODBC

=============================
http://blog.csdn.net/no_miss/archive/2006/06/01/767222.aspx
hg533 2008-03-05
  • 打赏
  • 举报
回复
只是读数据,不写,权限是一样的

110,537

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧