关于access版本的问题

matinpetrov 2004-05-08 09:56:33
想把旧版access的数据库里的表数据复制到新的access版本的数据库的表里
我用
Dim dbconn As OleDb.OleDbConnection
Dim dbap As OleDb.OleDbDataAdapter
dbconn = New OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;" & "DATA SOURCE= g:/OfficeData.mdb")
dbap = New OleDb.OleDbDataAdapter("select * from tech", dbconn)
dbap.Fill(ds, "cast1")
dim i as integer
i = ds.Tables("tech").Rows.Count
运行,提示 i = ds.Tables("tech").Rows.Count 出错

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

...全文
45 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Vsnetlx 2004-05-08
  • 打赏
  • 举报
回复
if ds.Tables("tech").Rows(cc).Item("领用人") = Nothing then
lingyongren = DBNull.Value.ToString
else
lingyongren = ds.Tables("tech").Rows(cc).Item("领用人").ToString
end if
matinpetrov 2004-05-08
  • 打赏
  • 举报
回复
shebeizhuangtai = ds.Tables("tech").Rows(cc).Item("设备状态").Tostring

这样的做法好像不行,复制完成后,我发现表里的值全都是“System.string”没有别的东西
matinpetrov 2004-05-08
  • 打赏
  • 举报
回复
If Len(ds.Tables("tech").Rows(cc).Item("领用人")) > 0 Then
lingyongren = ds.Tables("tech").Rows(cc).Item("领用人").GetType.ToString
Else
lingyongren = ""
End If
也不行
说是类型不匹配
Vsnetlx 2004-05-08
  • 打赏
  • 举报
回复
shebeizhuangtai = ds.Tables("tech").Rows(cc).Item("设备状态").Tostring
wangsaokui 2004-05-08
  • 打赏
  • 举报
回复
我的设备状态在表里是一个空的字段
遇到这样的情况该怎么赋值给string

先判断下是否为空,为空的话赋“”
wangsaokui 2004-05-08
  • 打赏
  • 举报
回复
Standard Security:

"Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Uid=Admin;Pwd=;"



Workgroup:

"Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;SystemDB=C:\mydatabase.mdw;"



Exclusive:

"Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\mydatabase.mdb;Exclusive=1;Uid=admin;Pwd="
matinpetrov 2004-05-08
  • 打赏
  • 举报
回复
哦,这样啊,还有一个问题
就是
dim shebeizhuangtai as string
shebeizhuangtai = ds.Tables("tech").Rows(cc).Item("设备状态")
时出错,说
异常详细信息: System.InvalidCastException: 从类型“DBNull”到类型“String”的强制转换无效。

我的设备状态在表里是一个空的字段
遇到这样的情况该怎么赋值给string
wangsaokui 2004-05-08
  • 打赏
  • 举报
回复
换ODBC驱动
KOON 2004-05-08
  • 打赏
  • 举报
回复
旧版本的Provider不能使用Jet.OLEDB,你换个驱动程序试试吧

16,721

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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