以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]两个方法求助 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=9547) |
-- 作者:ddlzq -- 发布时间: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 -- 发布时间:2011/4/21 18:04:00 -- 但 姓名 如果不存在或不正确 时,为何 dr("参保状态") = Nothing dr("劳动合同状态") = Nothing 这个列没有被nothing掉? |
-- 作者:blackzhu -- 发布时间: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 -- 发布时间:2011/4/21 19:03:00 -- dt = cmd.ExecuteReader在第二段我没有加,加一下。 |
-- 作者:ddlzq -- 发布时间:2011/4/21 19:37:00 -- 哦 这样啊,我原来以为针对一列的事件都非写到一起呢,怕重复的不执行,呵呵,谢谢blackzhu老师指点 |