用dbgrid显示使用adoquery查询出来的结果,希望在dbgrid中能修改某些字段,但不希望能新增记录,能实现吗?
解决方案 »
- 请教大侠!对BCP命令熟悉的请进
- 关于使用的SPCOMM的问题
- copyfile问题
- 请帮忙看一下,我的这个重载constructor create为何不成功?
- 请教个日期转字符串的问题
- project source 出错,紧急求助!!急急急,眼泪都出来了。
- 急急:如何改变DELPHI数据包的大小
- 在Dephi里,如何将一个指针的地址值转换为整形?
- 如何限制edit的输入格式?
- 在DBGrid网络中,调用DataSouce.DataSet.Delete后,出现“键列信息不足或不正确,更新影响到过多的行”错,高手求救啊~~
- C++ to Delphi
- 我已经提了三问了:应用程序调用DLL,DLL是一个窗体,按Tab键,怎么实现DLL和应用程序的焦点切换.
if AdoQuery1.isempty
then Adoquery1.cancel;
key:=#0;
tab、left、down键值我忘记了,你自己查一下
if adoquery1.eof and (key in []) then
key:=#0;
具体键值忘记了,自己查一下
raise exception.create('对不起,不能插入新的记录');
Abort; 就行了。
我按你的方法试了,是可以,但是如果我想能动态控制,不知能否实现?因为在某些情况下,我是允许它新增的!谢谢!
raise exception.create('对不起,不能插入新的记录');
hi,你好!
我按你的说法,在before insert事件中写了代码,结果运行时出错了
回复:如果用Raise的话你在DELPHI的调试模式下就会接受我在上面写的那个异常,从而中断程序的运行,你编译完了运行就会发现这是由用户控制的一个异常,是正常的!如果想动态控制的话,也很简单的呀,你用一个boolean变量就行了声明 : private
IsCanInsert :Boolean;
在一个按钮的单击事件中写:
IsCanInsert := not IsCanInsert;在beforeinsert事件中写:if not IsCanInsert then
raise exception.create('对不起,不能插入新的记录');
//或者用楼上说的Abort;也行