我是delphi新手,我写了个小程序,现在我想按保存,就判断新增或修改的记录是否与数据库记录相同,怎么写
答案:4 悬赏:0 手机版
解决时间 2021-02-26 13:57
- 提问者网友:做自己de王妃
- 2021-02-26 00:10
我是delphi新手,我写了个小程序,现在我想按保存,就判断新增或修改的记录是否与数据库记录相同,怎么写
最佳答案
- 五星知识达人网友:酒安江南
- 2021-02-26 00:59
procedure TForm1.BitBtn1Click(Sender: TObject);
var
results1:variant;
begin
ADOquery1.Close;
ADOQUERY1.Open;
ADOQUERY1.Active;
results1:=ADOQUERY1.Lookup('用户姓名',edit1.text,'用户密码');
if ( results1<>null) then
showmessage('用户已存在')
这段语句就是在Edit1中输入用户名后判断该用户名是否可用。就是lookup的调用。
希望对你有帮助。
var
results1:variant;
begin
ADOquery1.Close;
ADOQUERY1.Open;
ADOQUERY1.Active;
results1:=ADOQUERY1.Lookup('用户姓名',edit1.text,'用户密码');
if ( results1<>null) then
showmessage('用户已存在')
这段语句就是在Edit1中输入用户名后判断该用户名是否可用。就是lookup的调用。
希望对你有帮助。
全部回答
- 1楼网友:妄饮晩冬酒
- 2021-02-26 03:18
你要判断数据库记录,你得有一定的数据库知识,按你的想法,你就是想知道你录入的数据是否与数据记录相同,这个相同是指什么相同,每个表都有多条记录,每条记录有多个字段,比如说人员信息表,可能应该要判断姓名是否有重复,我建议你在保存时单独去查询吧,或者把姓名搞为主键,这样,保存时后台就会报错,捕捉错误就行了。
- 2楼网友:轻雾山林
- 2021-02-26 02:03
很简单~~需要三个循环~一个循环嵌套另外两个~
1循环遍历
2循环遍历每个空区间的空值的个数
根据位置 计算 a
3循环给每个空区间的空值赋值
思路如下~
1 循环
先设置个变量表示游标位置 i
从第一个开始判断这条记录是不是空的
如果不空下一条
如果内容为空 进入第2个循环
游标 j记录位置
判断 i+1 这条记录是不是空的
如果是空的下一条直到不是空的
记录位置 j
2循环结束
根据位置计算 你说的 a值
3循环开始
给为空的位置赋值
赋值结束
3循环结束
1循环继续从有值的位置开始(这样比较块些)
也可以继续从i+1的位置继续1循环因为此时下面的空值已经赋值了~
直到刚才那个空区间结束的下个空区间又会进入2循环
你看可以吗?
- 3楼网友:封刀令
- 2021-02-26 01:26
肯定相同的....执行完adoquery1.execsql之后,加入一个showmessage(‘操作成功’);如果显示这个消息的话,就说明adoquery1的语句已经执行成功了(执行失败是不会继续执行showmessage的)。如果还是不放心的话,可以在showmessage后面再加一段代码
adoquery2.close;
adoquery2.sql.clear;
adoquery.sql.add(select * from 你的数据库 where 你在adoquery里修改的东东 and 这个东东的主键值(最好是主键) );
adoquery2.open;
if adoquery2.recordcount = 0 then showmessage(‘不相同’)
else showmessage(‘相同’);
原理就是判断符合你修改后数据的记录数有没有,如果有的话,就说明修改成功了,假设你要修改主键number为23的记录,修改name从张三到李四,那么select * from 数据库 where number=23 and name=‘李四’的记录个数应该是1个(不为零)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯