以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何后台全局禁止重复数据 急急急 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=42164) |
-- 作者:ichoo31 -- 发布时间:2013/11/5 17:23:00 -- 如何后台全局禁止重复数据 急急急 RT 我有个客户信息表 客户名称设置了禁止重复 用的是这段代码 If e.DataCol.Name = "订单号" Then
Dim dr As DataRow 我用的是录入窗口方式录入,但是同时我设置了只加载所有者=当前用户名的数据,当前用户名下是不能录入2个完全相同的用户名了 但是我换个用户后就可以录入了,这样其实整个表里面确实是存在了两个相同的用户了,问下高手 如何实现整个表达到不能录入相同数据的效果 并且提示呢? |
-- 作者:Bin -- 发布时间:2013/11/5 17:25:00 -- 利用SQLCOMMAND http://www.foxtable.com/help/topics/0696.htm 利用SQL语句查询是否存在该单号 或者用户名 例如 "select * from {表A} where 订单号=\'" & e.newValue & "\'"
|
-- 作者:ichoo31 -- 发布时间:2013/11/5 17:35:00 -- 期待高手帮忙啊 |
-- 作者:sloyy -- 发布时间:2013/11/5 17:42:00 -- 2楼已经告诉了你答案 |
-- 作者:ichoo31 -- 发布时间:2013/11/5 18:29:00 -- If e.DataCol.Name = "客户名称" Then Dim cmd As New SQLCommand Dim dr As DataRow dr = cmd.CommandText = "select 客户名称 from {客户信息表} where 客户名称=\'" & e.newValue & "\'" If dr IsNot Nothing Then MessageBox.Show("此客户已经存在!") e.Cancel = True End If End If 老大帮忙看看这里错在哪里?
|
-- 作者:ichoo31 -- 发布时间:2013/11/5 18:30:00 -- If e.DataCol.Name = "客户名称" Then Dim cmd As New SQLCommand Dim dr As DataRow dr = cmd.CommandText = "select 客户名称 from {客户信息表} where 客户名称=\'" & e.newValue & "\'" If dr IsNot Nothing Then MessageBox.Show("此客户已经存在!") e.Cancel = True End If End If 老大 帮忙看看我这个错在哪里 我拼凑出来的 汗
|
-- 作者:ichoo31 -- 发布时间:2013/11/5 18:33:00 -- 希望老大可以出个实例啊 |
-- 作者:有点甜 -- 发布时间:2013/11/5 19:33:00 -- 代码改成这样 If e.DataCol.Name = "客户名称" Then Dim cmd As New SQLCommand cmd.CommandText = "select count(客户名称) from {客户信息表} where 客户名称=\'" & e.newValue & "\'" Dim result As Integer = cmd.ExecuteScalar If result > 0 Then MessageBox.Show("此客户已经存在!") e.Cancel = True End If End If |
-- 作者:ichoo31 -- 发布时间:2013/11/5 19:39:00 -- 貌似不行哦 我添加到DataColChanging 然后添加一个重复客户 提示错误Microsoft Jet 数据库引擎找不到输入表或查询 \'~TMPCLP客户信息表\'。 确定它是否存在,以及它的名称的拼写是否正确。 |
-- 作者:有点甜 -- 发布时间:2013/11/5 19:42:00 -- 如果是外部表,参考下面的帮助 |