vb+sql中编号重复的问题

Smidin 2005-04-24 03:39:12
想请问各位大大,在vb+sql中,如何解决编号重复的问题?就是如果编号重复的话,代码应该怎么写才能解决?我有写了一段代码,但是一直出现问题.现在急着用,烦请各位大大尽快回复啊..在下不胜感激!!!!
...全文
117 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cpf_cn 2005-04-25
  • 打赏
  • 举报
回复
On Error GoTo ExecuteSQL_Error
Dim rs As New ADODB.Recordset
cnn.Errors.Clear
sql="Select khbh From khglb where khbh='" & Text1.Text &"'"
rs.CursorLocation = adUseClient
rs.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic
if not rs.eof then msgbox "编号重复"
rs.close
set rs=nothing
----------------------------------------------------------
cnn为连接对象
如果是客户编号啥的,最好应用一定的规则,用程序自动生成,这样又省用户操作,又好控制。
lzgvcd 2005-04-25
  • 打赏
  • 举报
回复
那么你的sql的编号设置的有问题,是不是自动加一的那种
Smidin 2005-04-24
  • 打赏
  • 举报
回复
代码如下,各位大大看看吧.
Dim rs As New ADODB.Recordset
rs.Close
Set rs = ExecuteSQL("Select khbh From khglb where khbh='" & Text1.Text & "'", msgtext)
If rs.RecordCount > 0 Then
MsgBox "编号重复!"
Text1.SetFocus
Exit Sub
End If
我是要把数据插入表里,并且在数据库中有使用主键约束了.
如果代码提示出现重复后,我在重新输入一个编号,点击保存按纽之后弹出的错误提示为:

"在对应所需名称或序数的集合中,未找到项目"
sh_zll 2005-04-24
  • 打赏
  • 举报
回复
不知道楼主是不是要不把数据插入表里。最好是在数据库中使用主键约束。或者你对编号像一个保证她唯一的方法,比如时间+流水号。时间为当前时间,流水号自动加1。但插入前也要查询数据库该编号是否已经存在。
microsoft_huyee 2005-04-24
  • 打赏
  • 举报
回复
其实很多种解决方案
看是做大程序还是小程序啦!
是小程序的话
你可以在插入一条数据之前先检测此数据是否存在啊。或者在数据库中使用主键约束,然后在VB中使用错误捕捉,进行错误处理,
大程序更可以使用记录集合来调整。
方法多种多样,看你喜欢怎么做
microsoft_huyee 2005-04-24
  • 打赏
  • 举报
回复
什么编号重复?把代码贴出来看看。

1,216

社区成员

发帖
与我相关
我的任务
社区描述
VB 数据库(包含打印,安装,报表)
社区管理员
  • 数据库(包含打印,安装,报表)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧