我有1个字段,定义为char,字段值为中文字(如"事故处理")或者数字(12345),当我新添加记录的时候,对于该字段,如果输入的是中文,可以重复,不用考虑;如果是数字的话,就判断下以前的记录,如果该数字存在就提示已经存在,不能添加记录,哪位高手帮帮我.最好有详细点的代码,本人新手
解决方案 »
- delphi 控制台 程序
- 求一简单的Sql语句,排除重复项.................在线急等,高手进之..........
- 关于gifimage控件,大虾们救命啊,在线等……
- 怎样分割这样的字符串呢?????
- 请强烈关注:有没有兄弟在浙江华美,杭州恒生,上海海信科技中呆过的?有一非常N人的简历我想验证一下
- 关于释放的问题
- fastreport中如何使主项数据与细项数据打印在两页上
- 简单的动态多维数组问题
- 求助:FastReport的文本框能设置为水平镜像显示和垂直镜像显示吗?
- SQL语句:select * from table1 where date>1999-1-1;时间查询限制条件怎么写(在线等待,马上给分 )
- 安装Indy10后出现的问题
- 很傻很天真地请教下关于用面向对象的思路来设计程序
var
i: integer;
tStr : String;
begin
Result := True;
tStr := Trim(pStr);
for i := 1 to Length(tStr) do
begin
if not tStr[i] in ['0'..'9'] then
begin
Result := False;
Break;
end;
end;
end;
select count(*) from tablename where trim(col)='123' 判断count(*) 是否等于0
ADOQuery1.SQL.Text := 'select * from 表 where 字段='+QuotedStr('值');
ADOQuery1.Open;
Result := not ADOQuery1.IsEmpty;
如果有重复则Result:= True;
if (s[1] in ['0'..'9']) then
begin
//判断是否存在重复值
self.ADOQuery2.Close;
Self.ADOQuery2.Connection:=self.ADOConnection1;
self.ADOQuery2.SQL.Clear;
Self.ADOQuery2.SQL.Add('select * from tablename where fieldname1=:s1');
Self.ADOQuery2.Parameters.ParamByName('s1').Value:=s;
Self.ADOQuery2.Open;
if self.ADOQuery2.RecordCount>0 then
begin
MessageBox(Application.Handle,'变电站编号或变电站名称已经存在','信息',MB_OK or MB_ICONINFORMATION);
Exit;
end;
end;
self.ADOQuery2.Append;
......
前面几位大哥大姐的的程序,我数据表已经在添加编辑状态了,再执行adoquery.close;是不是应该就没办法执行添加记录了吧,4楼的大哥也是做变电所的,请大家帮下小弟.就快给分了哈
//输入的是否为数字,简单的方法(输入的必须全部为数字)
if (s[1] in ['0'..'9']) then
begin
//判断是否存在重复值
self.ADOQuery2.Close;
Self.ADOQuery2.Connection:=self.ADOConnection1;
self.ADOQuery2.SQL.Clear;
Self.ADOQuery2.SQL.Add('select * from tablename where fieldname1=:s1 and fieldname2=:s2');
Self.ADOQuery2.Parameters.ParamByName('s1').Value:=bdzmc;
Self.ADOQuery2.Parameters.ParamByName('s1').Value:=s;
Self.ADOQuery2.Open;
if self.ADOQuery2.RecordCount>0 then
begin
MessageBox(Application.Handle,'该变电站中已经存在相同编号的操作票','信息',MB_OK or MB_ICONINFORMATION);
Exit;
end;
end;
self.ADOQuery2.Append;
......
这个就是简单的判断输入的是否是数字,因为操作票编号不会有汉字出现吧