Foxtable(狐表)用户栏目专家坐堂 → 看看我的错误在哪里


  共有4844人关注过本帖树形打印复制链接

主题:看看我的错误在哪里

帅哥哟,离线,有人找我吗?
wuxianzuoji41
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
看看我的错误在哪里  发帖心情 Post By:2013/12/2 10:45:00 [只看该作者]

For Each dr1 As Row In Tables("填加客户_tblLinshi").Rows
    Dim dr2 As DataRow = DataTables("baidu_client").Find("cCompany= '" & dr1("号码") & "'")
    If dr2 Is Nothing Then
      dr2.DataTable.AddNew
      dr2("cCompany")=dr1("号码")

    End If
Next
messagebox.Show("标记完毕")

 

比较 dr1("号码")是否在dr2(("cCompany")里存在,如果没有就新添加一个记录。

 

怎么提示错误,未将对象引用设置对象实例

 


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/2 10:51:00 [只看该作者]

If dr2 Is Nothing Then
      dr2.DataTable.AddNew  'DR2既然是空,你DR2.datatable 当然会报错空值啊.  你要为哪个表增加行,应该指定表.
      dr2("cCompany")=dr1("号码")

    End If


 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/2 10:52:00 [只看该作者]

例如

For Each dr1 As Row In Tables("填加客户_tblLinshi").Rows
    Dim dr2 As DataRow = DataTables("baidu_client").Find("cCompany= '" & dr1("号码") & "'")
    If dr2 Is Nothing Then
      dr2=
DataTables("baidu_client").AddNew
      dr2("cCompany")=dr1("号码")

    End If
Next
messagebox.Show("标记完毕")


 回到顶部
帅哥哟,离线,有人找我吗?
wuxianzuoji41
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:四尾狐 帖子:884 积分:7061 威望:0 精华:0 注册:2013/3/5 8:42:00
  发帖心情 Post By:2013/12/2 11:47:00 [只看该作者]

以下是引用Bin在2013-12-2 10:52:00的发言:
例如

For Each dr1 As Row In Tables("填加客户_tblLinshi").Rows
    Dim dr2 As DataRow = DataTables("baidu_client").Find("cCompany= '" & dr1("号码") & "'")
    If dr2 Is Nothing Then
      dr2=
DataTables("baidu_client").AddNew
      dr2("cCompany")=dr1("号码")

    End If
Next
messagebox.Show("标记完毕")

谢谢,bin,解决问题了。

 

但是还有一个新问题。我的DataTables("baidu_client")是动态加载的,这个程序只比较已经加载到程序的里baidu_client数据,不比较数据库里的其他未加载baidu_client")的数据,这个该怎么解决

[此贴子已经被作者于2013-12-2 11:49:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
Bin
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:贵宾 帖子:35433 积分:178530 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/12/2 12:06:00 [只看该作者]

使用SQLCOMMAND 执行SQL语句到数据库里查找吧



 回到顶部
帅哥哟,离线,有人找我吗?
狐狸爸爸
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2013/12/2 12:33:00 [只看该作者]

楼主,你可以一条SQL语句,搞定所有的一切,例如将表B的第一列,更新为表A的第一列,条件是主键相同:

 

UPDATE {表A},{表B} SET {表B}.第一列 = {表A}.第一列 WHERE {表B}.[_Identify] = {表A}.[_Identify]

 

这样后台数据也生效,当然执行完毕后,表B要重新加载一下。


 回到顶部