主题:求助: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语言。因为程序要急用,我一时又不知如何写,请各位老师帮帮我,在此先谢谢了。。。。。。。。
我才刚开始接触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语言。因为程序要急用,我一时又不知如何写,请各位老师帮帮我,在此先谢谢了。。。。。。。。