回 帖 发 新 帖 刷新版面

主题:求助:vfp+sql2000保存键的问题

各位老师:
我才刚开始接触sql,说真的,我只在网上参考了一些资料后,就胡乱地搞vfp+sql了。
我把access表导入sql2000数据库后,建立了远程视图,用ODBC建立连接后,稀里糊涂地就与在sql2000建立的数据库连接上了(我现在还不知道这种连接的方法叫做什么,是属SPT呢还是CA,我想应该还算是CA吧?大家别笑我)。好在程序要求的功能不多,只是可以查询、统计、打印报表就可以,现在基本可以正常使用。
但是,有个问题,我不知道如何处理。
保存键的代码为:
bh=Alltrim(Thisform.text1.Value)
If     Empty(bh)
    Messagebox("编号不能为空号!",16,"系统信息")
    Thisform.text1.Value=""
    Thisform.text1.SetFocus
    Return
Endif
nRecno=Recno()
Locate For 编号==bh
If Found()
    If Thisform.isadding
        Messagebox("编号:"+bh+"已被使用!",16,"系统信息")
        Thisform.text1.SetFocus
        Return
    Else
        If nRecno<>Recno()
            Messagebox("编号:"+bh+"已被使用!",16,"系统信息")
            Thisform.text1.SetFocus
            Return
        Endif
    Endif
Endif
Thisform.myyd1.Enabled=.T.
Thisform.command2.Enabled=.T.
Thisform.command3.Enabled=.T.
Thisform.command1.Enabled=.T.
Thisform.mybot1.command1.Enabled=.T.
Thisform.mybot1.command2.Enabled=.T.
Thisform.mybot1.command5.Enabled=.T.
Select 数据表
Tableupdate(.T.)
Messagebox("数据保存成功!",64,'信息')

保存的代码是利用了本论坛上的“手把手教你学vfp+sql2000的c/s系统吧! [ 2 ]”的源码,我是利用文本框输入,保存没问题。只是编号重复的提示不起作用。我的意思是:如果有重复的编号,系统提示“编号xxxx已被使用!”。而且要求不能保存数据,须修改后方可保存。
但按保存键后,系统的提示不是我写的,而是sql的提示:连接错误……..[sql server]违反PRIMARY约束”PK—数据表”。不能在对象“数据表”中插入重复键。
我知道我写的代码是纯VFP的,不是SQL语言。因为程序要急用,我一时又不知如何写,请各位老师帮帮我,在此先谢谢了。。。。。。。。

回复列表 (共3个回复)

沙发

稀里糊涂地没把新产生的编号替换进新记录中,胡乱地搞vfp+sql了!

板凳

这sql关键字把门神不知杀死了多少稀里糊涂地胡乱地搞vfp+sql的勇士了,闯过了这一关,前面的道路就可以走好长一段了。

3 楼

[quote]稀里糊涂地没把新产生的编号替换进新记录中,胡乱地搞vfp+sql了![/quote]
啊呀!谢谢yjr3032570老师的提醒.......
我真的是稀里糊涂了......

我来回复

您尚未登录,请登录后再回复。点此登录或注册