2273|0

81

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

PULL的异常如何解决 [复制链接]

  1. Private Sub MyPull(ByVal MyTable As String)'ExistTable表中存放PPC本地数据库的所有表格名称,MyTable为要PULL的表格
  2.         Dim rdaNW As New SqlCeRemoteDataAccess
  3.         Dim dbEngine As New SqlCeEngine
  4.         Dim connDB As New SqlCeConnection(strConnLocal)
  5.         Dim cmndDB As New SqlCeCommand("SELECT * FROM ExistTable WHERE TableName='" + MyTable + "'", connDB)
  6.         Dim drdrDB As SqlCeDataReader
  7.         '判断本地数据库是否存在该表
  8.         connDB.Open()
  9.         drdrDB = cmndDB.ExecuteReader()
  10.         If drdrDB.Read = False Then
  11.             MsgBox("该表不存在")'表格不存在,则先在MyTable里插入该表名,然后PULL
  12.             With cmndDB
  13.                 .CommandText = "INSERT ExistTable(TableName) VALUES('" + MyTable + "')"
  14.                 .ExecuteNonQuery()
  15.             End With
  16.         Else
  17.             MsgBox("表格存在!")'表格存在,则先删除本地表,然后PULL
  18.             With cmndDB
  19.                 .CommandText = "DROP TABLE " + MyTable
  20.                 .ExecuteNonQuery()
  21.             End With
  22.         End If
  23.         connDB.Close()
  24.         Try
  25.             With rdaNW
  26.                 .LocalConnectionString = strConnLocal
  27.                 .InternetUrl = strURL
  28.                 .InternetLogin = ""
  29.                 .InternetPassword = ""
  30.                 .Pull(MyTable, strSQL, strConnRemote, RdaTrackOption.TrackingOn)
  31.             End With
  32.             MsgBox("Pull OK!")
  33.         Catch exSQL As Exception
  34.             MsgBox(exSQL.Message)
  35.         Finally
  36.             rdaNW.Dispose()
  37.         End Try
  38.     End Sub
复制代码


异常的出现:
1. 检查本地是否有该表,如果没有,则写入表名,如果有,则删除该表。(到这一步的状态果是,ExistTable有Mytable这个名字,但是本地数据库中实际上还没有MyTable),然后执行PULL操作,如果此时由于某种原因(比如网络链接不正常)导致PULL失败,即MyTable未下载到PPC上。程序结束。

2. 在第一次的基础上,如果再次运行程序就会出现异常了:
检查本地是否有该表,发现ExistTable有Mytable这个名字,于是误认为存在,试图执行删除操作,结果导致异常。

曾经尝试,把删除操作放在每一次PULL成功之后进行,发现还是有可能会出现异常的。

希望有经验的兄弟指教一下。多谢。
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表