永发信息网

我是delphi新手,我写了个小程序,现在我想按保存,就判断新增或修改的记录是否与数据库记录相同,怎么写

答案:4  悬赏:0  手机版
解决时间 2021-02-26 13:57
我是delphi新手,我写了个小程序,现在我想按保存,就判断新增或修改的记录是否与数据库记录相同,怎么写
最佳答案
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的调用。
希望对你有帮助。
全部回答
你要判断数据库记录,你得有一定的数据库知识,按你的想法,你就是想知道你录入的数据是否与数据记录相同,这个相同是指什么相同,每个表都有多条记录,每条记录有多个字段,比如说人员信息表,可能应该要判断姓名是否有重复,我建议你在保存时单独去查询吧,或者把姓名搞为主键,这样,保存时后台就会报错,捕捉错误就行了。
很简单~~需要三个循环~一个循环嵌套另外两个~ 1循环遍历 2循环遍历每个空区间的空值的个数 根据位置 计算 a 3循环给每个空区间的空值赋值 思路如下~ 1 循环 先设置个变量表示游标位置 i 从第一个开始判断这条记录是不是空的 如果不空下一条 如果内容为空 进入第2个循环 游标 j记录位置 判断 i+1 这条记录是不是空的 如果是空的下一条直到不是空的 记录位置 j 2循环结束 根据位置计算 你说的 a值 3循环开始 给为空的位置赋值 赋值结束 3循环结束 1循环继续从有值的位置开始(这样比较块些) 也可以继续从i+1的位置继续1循环因为此时下面的空值已经赋值了~ 直到刚才那个空区间结束的下个空区间又会进入2循环 你看可以吗?
肯定相同的....执行完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个(不为零)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
榆文街/榆泰南路(路口)地址有知道的么?有点
“君不知黄河之水天上来”作者?
国画写意人物 谁画的好
怎样将docx转换成doc格式
谁会在意我的存在,我走了谁会想起我的伤感说
韦伯双语机器人学校地址在哪,我要去那里办事
对洋务运动“中学为体,西学为用”的思想解释
奔驰19寸轮毂能装奥迪车上吗
怎样扩大微信群人数上限?
新概念英语第二册一课一练答案第39-40.41-42
有还原卡的电脑做系统程序怎么做
星河湾地址在哪,我要去那里办事
大家有没有发现360推广创意消费和关键词消费
余弦等于正弦的锐角是多少度(过程)
复合地板下面垫什么
推荐资讯
有什么软件可以将自己的图片批成表情包的
如何用KMP播放外部音轨并且调整音轨同步
【一朵花开在什么地方】一片叶落在哪里都是归
新东方罗蓓老师教的怎么样
f(x)=3sin(k5x+π3)
尾巴带夹子的甲壳虫类型昆虫如何清除
畔江苑在哪里啊,我有事要去这个地方
我的世界怎么开垦土地
属马的人开什么颜色的车好
羟基和氢氧根各有几个电子
榆林市残疾人辅助器具服务中心这个地址在什么
倪家坪子在什么地方啊,我要过去处理事情
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?