| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 851 人关注过本帖
标题:求助:输入数据库如何判断条目避免重复?
只看楼主 加入收藏
bleak
Rank: 1
等 级:新手上路
帖 子:10
专家分:7
注 册:2012-11-2
结帖率:50%
收藏
已结贴  问题点数:5 回复次数:6 
求助:输入数据库如何判断条目避免重复?
正常可以录入数据,但是遇到相同文本内容的就直接报错退出,现在我参考了一段代码,把它加进来,但是每次添加都报“系统已存在该条记录”,找不出是哪里的原因,请各位帮忙看下了啊!

Private Sub cmdOK_Click()
Dim strSQL2 As String
Dim rs As New ADODB.Recordset
If CheckData() = False Then Exit Sub
      strSQL2 = "INSERT INTO tb_timecard(timecard_id,employee_id,employee_name,timecard_date,timecard_stime,timecard_xtime,timecard_time) "
            strSQL2 = strSQL2 & "VALUES('" & txtTimecardid.Text & "','"    ' kq编号
            strSQL2 = strSQL2 & cmbEmpid.Text & "','" '员工工号
                SQLExt (strSQL2)
            MsgBox "添加成功!", vbInformation + vbOKOnly, "提示"

End Sub

Private Function CheckData() As Boolean
strSQL0 = "SELECT * FROM tb_timecard WHERE timecard_id = '" & Trim(txtTimecardid.Text) & " ' AND timecard_date = # " & DTPickerDate.Value & " # "
       Set bs = QueryExt(strSQL0)
     If bs.RecordCount <> 0 Then
        MsgBox ("系统已存在该条记录,请修改后重试!")   
        CheckData = False
        Exit Function
     End If
    CheckData = True
End Function
搜索更多相关主题的帖子: 如何 False 数据库 
2012-11-06 15:08
bleak
Rank: 1
等 级:新手上路
帖 子:10
专家分:7
注 册:2012-11-2
收藏
得分:0 
这个SQL语法不知道有没有问题,大家帮忙啊!谢谢啦!!
2012-11-06 15:10
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
收藏
得分:5 
你的编号是唯一的吧?如果编号是唯一的就查询编号,如果存在该编号那么就提示有这条记录了!
sql = "select * from 表格 where 编号 = 你现在需要存储的信息编号"

学习--------------学习-------------------学习--------------------!!
2012-11-06 16:35
bleak
Rank: 1
等 级:新手上路
帖 子:10
专家分:7
注 册:2012-11-2
收藏
得分:0 
编号唯一,但是我是在这里Private Function CheckData() As Boolean定义的啊,但是一直这么提示,"系统已存在该条记录,请修改后重试!"就是不管有没有记录都这么提示,晕死了
2012-11-06 16:39
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
收藏
得分:0 
strSQL0 = "SELECT * FROM tb_timecard WHERE timecard_id = '" & Trim(txtTimecardid.Text) & " ' AND timecard_date = # " & DTPickerDate.Value & " # "
把除了编号以外的查询条件去掉在查询不可以吗?

学习--------------学习-------------------学习--------------------!!
2012-11-06 20:34
bleak
Rank: 1
等 级:新手上路
帖 子:10
专家分:7
注 册:2012-11-2
收藏
得分:0 
也不行的啊,咋整啊
2012-11-08 08:03
wxflw
Rank: 6Rank: 6
等 级:侠之大者
帖 子:325
专家分:435
注 册:2012-1-29
收藏
得分:0 
我自己用的!你参考一下吧!

'自动编号
Set cn = New adodb.Connection
Set rs = New adodb.Recordset
If cn.State = adStateOpen Then cn.Close
If rs.State = adStateOpen Then rs.Close
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & App.Path & "\数据库名字;Jet OLEDB:Database Password=密码 "
sql = "select * from 表名 order by 编号 asc"
rs.Open sql, cn, adOpenForwardOnly, adLockBatchOptimistic
If rs.RecordCount > 0 Then
rs.MoveLast
Label37.Caption = Format(Val(rs.Fields("编号")) + 1, "00000000")
Else
Label37.Caption = "10000000"
End If

'下面的是我用过的一段查询代码,估计你能用的上自己改一下
Private Sub Command2_Click()
  If Text2.Text = "" Or Text7.Text = "" Or Text8.Text = "" Then
    MsgBox "请您输入查询条件", 32, "房源管理系统"
     Exit Sub
    Else   
    Set cn = New adodb.Connection
    Set rs = New adodb.Recordset
    If cn.State = adStateOpen Then cn.Close
    If rs.State = adStateOpen Then rs.Close
    cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & App.Path & "\数据库;Jet OLEDB:Database Password=密码 "
    sql = "select * from 表名 where 地址 like '%" & Text2.Text & "%'and 楼号 ='" & (Text7.Text) & "'and 房号 ='" & (Text8.Text) & "'"
    rs.Open sql, cn, adOpenForwardOnly, adLockBatchOptimistic
End If
   If rs.EOF And rs.BOF Then
    MsgBox "没有符合条件的信息,请您确认后重新输入", 32, "房源管理系统"
    Else
    Set MSHFlexGrid3.DataSource = rs
   End If
End Sub





[ 本帖最后由 wxflw 于 2012-11-8 09:18 编辑 ]

学习--------------学习-------------------学习--------------------!!
2012-11-08 09:10
快速回复:求助:输入数据库如何判断条目避免重复?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021865 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved