Foxtable(狐表)用户栏目专家坐堂 → [求助]两个方法求助


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

主题:[求助]两个方法求助

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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
[求助]两个方法求助  发帖心情 Post By:2011/4/21 17:46:00 [只看该作者]

各位老师:
新手求助请教两个问题:
1\表视图可不可以导出,因为用户自定义的表视图存在发布的项目里,我升级了项目发布包,用户的表视图没了.
2\如果一个表中有一列的行值发生变化时,要从两个sQL表中取对应这列行中的对应值自动输入两个值,请问怎么写?
例:If e.DataCol.Name = "姓名" Then
    Dim cmd As New SQLCommand
    Dim dt As DataTable
    Dim dr As DataRow = e.DataRow
    cmd.C
    cmd.CommandText = "SELECT * From {保险信息库} Where [姓名] = '" & dr("姓名") & "'"
    dt = cmd.ExecuteReader
    If dt.DataRows.Count > 0 Then
    dr("参保状态") = dt.DataRows(0)("参保状态")

    cmd.CommandText = "SELECT * From {劳动合同信息库} Where [姓名] = '" & dr("姓名") & "'"
   If dt.DataRows.Count > 0 Then
    dr("劳动合同状态") = dt.DataRows(0)("劳动合同状态")
    Else
    dr("参保状态") = Nothing
    dr("劳动合同状态") = Nothing
End If
End If
End If

我照抄一个数据源时的两次执行,但第二个"劳动合同状态"提示列不属于表.
-------------------自己找到了,是不是少了一句黄色代码,请问老师还有没有其他写法?
    cmd.CommandText = "SELECT * From {劳动合同信息库} Where [姓名] = '" & dr("姓名") & "'"
   If dt.DataRows.Count > 0 Then
    dt = cmd.ExecuteReader
    dr("劳动合同状态") = dt.DataRows(0)("劳动合同状态")
[此贴子已经被作者于2011-4-21 17:48:50编辑过]

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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2011/4/21 18:04:00 [只看该作者]

但 姓名 如果不存在或不正确 时,为何
    dr("参保状态") = Nothing
    dr("劳动合同状态") = Nothing

这个列没有被nothing掉?

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/4/21 19:03:00 [只看该作者]

If e.DataCol.Name = "姓名" Then
    Dim cmd As New SQLCommand
    Dim dt As DataTable
    Dim dr As DataRow = e.DataRow
    cmd.C
    cmd.CommandText = "SELECT * From {保险信息库} Where [姓名] = '" & dr("姓名") & "'"
    dt = cmd.ExecuteReader
    If dt.DataRows.Count > 0 Then
    dr("参保状态") = dt.DataRows(0)("参保状态")
  else
     dr("参保状态") = Nothing
  End if
End If
If e.DataCol.Name = "姓名" Then
    Dim cmd As New SQLCommand
    Dim dt As DataTable
    Dim dr As DataRow = e.DataRow
    cmd.C
    cmd.CommandText = "SELECT * From {劳动合同信息库} Where [姓名] = '" & dr("姓名") & "'"
   If dt.DataRows.Count > 0 Then
    dr("劳动合同状态") = dt.DataRows(0)("劳动合同状态")
    Else
        dr("劳动合同状态") = Nothing
   End If
End If
 
  两段代码分开来执行,你这个放在一起执行当然会提醒你找不到某列,因为有一个的表的里面没有哪一个列的呀。

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9875 积分:57584 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2011/4/21 19:03:00 [只看该作者]

dt = cmd.ExecuteReader在第二段我没有加,加一下。

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


加好友 发短信
等级:一尾狐 帖子:418 积分:3209 威望:0 精华:0 注册:2010/2/24 13:33:00
  发帖心情 Post By:2011/4/21 19:37:00 [只看该作者]

哦 这样啊,我原来以为针对一列的事件都非写到一起呢,怕重复的不执行,呵呵,谢谢blackzhu老师指点

 回到顶部