我的整个程序如下
首先给dbgridEH加一个picklist功能,最后是判断输入的内容是否与记录中的内容相同,最后一段程序在dbgrideh中没有picklist功能的时候是可以实现的,但是加入picklist功能之后就不好使了 请各位高手给分析一下原因。实现判断功能的是一个网上的高手写的,我也没看明白。
procedure TForm1.FormCreate(Sender: TObject);
begin
path:=extractfilepath(paramstr(0));
end;procedure TForm1.FormActivate(Sender: TObject);
begin
with dm.ADOQuery1 do
begin
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('select * from xue');
dm.ADOQuery1.Open;
dm.ADOQuery1.First;
DBGrid1.Columns[0].PickList.Clear;
DBGrid1.Columns[1].PickList.Clear;
while not dm.ADOQuery1.Eof do
begin
DBGrid1.Columns[0].PickList.Add(dm.ADOQuery1.Fields[0].AsString);
DBGrid1.Columns[1].PickList.Add(dm.ADOQuery1.Fields[1].AsString);
dm.ADOQuery1.Next;
end;
end;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
with dm.ADOQuery1 do
begin
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('select * from xue');
open;
DBGrid1.Columns.Items[0].FieldName:='ID';
DBGrid1.Columns.Items[1].FieldName:='name';
DBGrid1.Columns.Items[2].FieldName:='shijian';
end;
end;procedure TForm1.DBGrid1ColExit(Sender: TObject);
begin
try
except
on E: Exception do
begin
if pos('PRIMARY KEY', UpperCase(E.Message)) > 0 then
begin
messagebox(0,'已存在该笔记录!', '错误', 0);
Exit;
end end;
end;
end;end.
首先给dbgridEH加一个picklist功能,最后是判断输入的内容是否与记录中的内容相同,最后一段程序在dbgrideh中没有picklist功能的时候是可以实现的,但是加入picklist功能之后就不好使了 请各位高手给分析一下原因。实现判断功能的是一个网上的高手写的,我也没看明白。
procedure TForm1.FormCreate(Sender: TObject);
begin
path:=extractfilepath(paramstr(0));
end;procedure TForm1.FormActivate(Sender: TObject);
begin
with dm.ADOQuery1 do
begin
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('select * from xue');
dm.ADOQuery1.Open;
dm.ADOQuery1.First;
DBGrid1.Columns[0].PickList.Clear;
DBGrid1.Columns[1].PickList.Clear;
while not dm.ADOQuery1.Eof do
begin
DBGrid1.Columns[0].PickList.Add(dm.ADOQuery1.Fields[0].AsString);
DBGrid1.Columns[1].PickList.Add(dm.ADOQuery1.Fields[1].AsString);
dm.ADOQuery1.Next;
end;
end;
end;
procedure TForm1.FormShow(Sender: TObject);
begin
with dm.ADOQuery1 do
begin
dm.ADOQuery1.Close;
dm.ADOQuery1.SQL.Clear;
dm.ADOQuery1.SQL.Add('select * from xue');
open;
DBGrid1.Columns.Items[0].FieldName:='ID';
DBGrid1.Columns.Items[1].FieldName:='name';
DBGrid1.Columns.Items[2].FieldName:='shijian';
end;
end;procedure TForm1.DBGrid1ColExit(Sender: TObject);
begin
try
except
on E: Exception do
begin
if pos('PRIMARY KEY', UpperCase(E.Message)) > 0 then
begin
messagebox(0,'已存在该笔记录!', '错误', 0);
Exit;
end end;
end;
end;end.
解决方案 »
- 关于在局域网内复制文件总是搞不定? copyfile(pchar(m1),pchar(m2),false)
- 如何在运行时选定dbGrid中的内容后,在修改页面中进行修改?请大家帮帮忙!
- 请问GDI+ 能不能把图片的某区域填充为透明?
- 超级郁闷:一个小问题挡住了。TdxTreeList如何删除指定节点?
- 如何中通过环循给一个数组赋A-Z,a-z 和0-9。
- 文本文件转换为2个数据库的问题(在线等)?
- Delphi错误,请大家帮忙解决
- 请问在delphi 3层结构中 如何在中间层控制客户端用户的数量,只允许有5个客户连接?
- 如何拖文件
- 那位有破Access密码的方法??
- SQL语句改进~~~
- 求delphi 与 bsskinTreeView的动态使用示例
错误信息会报'PRIMARY KEY'err之类的错
错误信息存在这个字符,认为记录重复