Foxtable(狐表)用户栏目专家坐堂 → 只保存当前表中客户列不为空的行,应该怎么改?


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

主题:只保存当前表中客户列不为空的行,应该怎么改?

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


加好友 发短信
等级:四尾狐 帖子:902 积分:8258 威望:0 精华:0 注册:2012/10/19 13:55:00
只保存当前表中客户列不为空的行,应该怎么改?  发帖心情 Post By:2020/3/2 16:30:00 [显示全部帖子]

只保存当前表中客户列不为空的行,应该怎么改?
尝试着写,是这样的,不知道对不对?应该怎么改?

For Each dr As DataRow In DataTables("入库表").Select("客户 is not null")
dr.save
Next

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


加好友 发短信
等级:四尾狐 帖子:902 积分:8258 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)可以的。这种问题测试就知道了,测试...  发帖心情 Post By:2020/3/2 17:35:00 [显示全部帖子]

测试后,新增多行,其中部分行客户列有内容,部分列没有,结果按下保存按钮,新增行的左侧序号出现红色的感叹号

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


加好友 发短信
等级:四尾狐 帖子:902 积分:8258 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)请上传实例测试  发帖心情 Post By:2020/3/2 22:34:00 [显示全部帖子]

提示的错误对话框是:
.NET Framework 版本:4.0.30319.1026
Foxtable 版本:2020.1.12.18
错误所在事件:
详细错误信息:

Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.


图片点击可在新窗口打开查看此主题相关图片如下:00002.png
图片点击可在新窗口打开查看



图片点击可在新窗口打开查看此主题相关图片如下:00001.png
图片点击可在新窗口打开查看


 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:cs0000.foxdb



新增多行空行,其中部分填写“客户”列内容,
部分空行则不填写“客户”列内容,
而是直接在“入库日期”列录入日期,
然后点击下方的“保存”按钮,就能看到以上的错误提示?

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


加好友 发短信
等级:四尾狐 帖子:902 积分:8258 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)请上传数据库,无法测试  发帖心情 Post By:2020/3/2 23:23:00 [显示全部帖子]

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:5555555555555.rar


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


加好友 发短信
等级:四尾狐 帖子:902 积分:8258 威望:0 精华:0 注册:2012/10/19 13:55:00
  发帖心情 Post By:2020/3/3 9:26:00 [显示全部帖子]

求帮助

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


加好友 发短信
等级:四尾狐 帖子:902 积分:8258 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)部分保存后再全部保存是会有问题,已...  发帖心情 Post By:2020/3/3 9:42:00 [显示全部帖子]

?已反馈?什么意思?您说的我之前忘了上传数据库,我后来上传了,那么现在应该怎么处理?

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


加好友 发短信
等级:四尾狐 帖子:902 积分:8258 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)已反馈就是foxtable有问题,已反馈给...  发帖心情 Post By:2020/3/3 10:32:00 [显示全部帖子]

要是这条路不好走,那我用新的办法,您帮我看看,这段代码上下部分有没有问题?
是不是可以合并?怎么合并?

If e.Row("编辑者") = User.Name Then '如果编辑者是当前用户
    Return
End If
Dim cmd2 As New SQLCommand
Dim exp2 As String  = "编辑者 Is Null And [_Identify] = " & e.Row("_Identify")
cmd2.Connectio nNam e = "仓管系统"
cmd2.CommandText = "U pdate {入库表} Set 编辑者 = '" & User.Name & "' Where " & exp2
If cmd2.ExecuteNonQuery = 1 Then
    e.Row("编辑者") = User.Name
Else
    cmd2.CommandText = "Select 编辑者 F rom {入库表} Where [_Identify] = " & e.Row("_Identify")
    Dim nm2 As String = cmd2.ExecuteScalar
    If nm2 > "" Then
        MessageBox.show(nm2 & "正在编辑此行!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Else
        MessageBox.show("此行可能已经被删除,无法编辑!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    End If
    e.Cancel = True '取消编辑
End If

Dim cmd As New SQLCommand
cmd.Connectio nNam e = "仓管系统"
Dim id As Integer = e.Row("_Identify")
cmd.CommandText = "Select 用户名 F rom {入库表} Where [_Identify] = " & id 
Dim nm As String = cmd.ExecuteScalar
If nm <> User.Name Then
e.Table.DataTable.load()
    Tables("入库表窗口_入库表").Position = Tables("入库表窗口_入库表").Rows.Count - 1
End If
[此贴子已经被作者于2020/3/3 10:57:07编辑过]

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


加好友 发短信
等级:四尾狐 帖子:902 积分:8258 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)功能不一样,无法合并。不建议在表事...  发帖心情 Post By:2020/3/3 11:25:00 [显示全部帖子]

那么,想要达到这个功能,应该怎么做?才能使,数据库中的当前行的用户名列不等于当前登录用户时,则重新加载当前表?

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


加好友 发短信
等级:四尾狐 帖子:902 积分:8258 威望:0 精华:0 注册:2012/10/19 13:55:00
回复:(有点蓝)如果一定要用,就是上面的用法,有什...  发帖心情 Post By:2020/3/3 12:20:00 [显示全部帖子]

测试时,发现了左边序号有红色感叹号

 回到顶部