+ -
当前位置:首页 → 问答吧 → 使用edit 往数据库存数据 判断是否有重复的

使用edit 往数据库存数据 判断是否有重复的

时间:2011-11-16

来源:互联网

在edit1 中输入学号
来判断是否有重复的数
有则弹出提示该生已存在
要怎么写

作者: xqlsaber   发布时间: 2011-11-16

Delphi(Pascal) code
with ADOQuery1 do
begin
  close;
  sql.text:='select 1 from 表t where 学号='+Quotedstr(Edit1.Text);
  open;
  if not isempty then
     showmessage('学号重复!')
  else
    {... 做其它事}
end;

作者: kaikai_kk   发布时间: 2011-11-16

遍历你的数据库,然后判断是否有这个学号.

作者: smhilyyan   发布时间: 2011-11-16

dataset.Locate方法

作者: case5166   发布时间: 2011-11-16

思路就是2楼的,我一般采用1楼的方法,但3楼的方法更简洁。

作者: SF_harry   发布时间: 2011-11-16

引用 3 楼 case5166 的回复:

dataset.Locate方法

求助具体怎么写

作者: xqlsaber   发布时间: 2011-11-16

引用 1 楼 kaikai_kk 的回复:

Delphi(Pascal) code
with ADOQuery1 do
begin
close;
sql.text:='select 1 from 表t where 学号='+Quotedstr(Edit1.Text);

你这个select ‘1’ 1是哪的数据

作者: xqlsaber   发布时间: 2011-11-16

引用 6 楼 xqlsaber 的回复:
引用 1 楼 kaikai_kk 的回复:

Delphi(Pascal) code
with ADOQuery1 do
begin
close;
sql.text:='select 1 from 表t where 学号='+Quotedstr(Edit1.Text);

你这个select ‘1’ 1是哪的数据


表中的属性,列名。

作者: guizilaile   发布时间: 2011-11-16

引用 6 楼 xqlsaber 的回复:
引用 1 楼 kaikai_kk 的回复:

Delphi(Pascal) code
with ADOQuery1 do
begin
close;
sql.text:='select 1 from 表t where 学号='+Quotedstr(Edit1.Text);

你这个select ‘1’ 1是哪的数据

1就是1啊..当数据符合where条件的时候,才会有1,没有就是空

locate方法就是 dateset.locate('字段名',[Edit1.Text]) 返回布尔型

作者: smhilyyan   发布时间: 2011-11-16

引用 8 楼 smhilyyan 的回复:


要是我读取数据库中布尔值
然后根据布尔值
转化成男女
怎么操作

作者: xqlsaber   发布时间: 2011-11-16

引用 9 楼 xqlsaber 的回复:

引用 8 楼 smhilyyan 的回复:


要是我读取数据库中布尔值
然后根据布尔值
转化成男女
怎么操作


sql里直接decode

作者: iDeputy   发布时间: 2011-11-16

Delphi(Pascal) code

if ADOQuery1.fieldby('字段').asboolean then
    a:=else  
    a:=女;

作者: smhilyyan   发布时间: 2011-11-16

fieldbyname

作者: smhilyyan   发布时间: 2011-11-16

引用 11 楼 smhilyyan 的回复:

我的列表名为 SEX
你那么a:=男
要怎么替换成我的

作者: xqlsaber   发布时间: 2011-11-16

引用 11 楼 smhilyyan 的回复:

就是男 

要赋值到哪个字段
或者赋值到哪里

作者: xqlsaber   发布时间: 2011-11-16

你数据库字段就不要改了..你显示的时候转换一下显示就好了啦

作者: smhilyyan   发布时间: 2011-11-16

引用 15 楼 smhilyyan 的回复:

你数据库字段就不要改了..你显示的时候转换一下显示就好了啦

恩 就是转化成 男女显示
求助怎么改呢
之前是false true
现在要改成 男 女  
求助要怎么做

作者: xqlsaber   发布时间: 2011-11-16

....!!!你在哪得到数据就在哪写那个判断啊.

作者: smhilyyan   发布时间: 2011-11-16

引用 17 楼 smhilyyan 的回复:

....!!!你在哪得到数据就在哪写那个判断啊.

求判断
我现在是不知道你那个男要赋值给谁 、
我现在是 表person 其中SEX 列
要怎么写代码

作者: xqlsaber   发布时间: 2011-11-16

locate在这儿用是不恰当的,数据是实时变化的,并且数据库中增加学号未必只有一个人在操作.
Delphi(Pascal) code

with ADOQuery1 do
begin
close;
sql.text:='select count(*) from 表t where 学号=:学号');
parambyname('学号'').asstring := edit1.text;
try
 open
except
end;
 if fields[0].Asinteger > 0 then showmessage('此学号已经存在!')
end;



//男女赋值问题
Delphi(Pascal) code

if ADOQuery1.fieldby('sex).asboolean then
    edit2.text:=''
else  
     edit2.text:='';


作者: jfhyn   发布时间: 2011-11-16

引用 19 楼 jfhyn 的回复:



那个男女
是在编程时
在gird控件上显示成男女
不是最终程序完成时的显示
求助怎么做

作者: xqlsaber   发布时间: 2011-11-16

引用 19 楼 jfhyn 的回复:

求助 Add all fields 这个选项在哪

作者: xqlsaber   发布时间: 2011-11-16