DELPHI医院 SQL急诊 - Delphi / 数据库相关
sql数据库
dbGrid浏览 编辑
其中一字段为逻辑字段,当某一记录的该字段修改为TRUE时,其它记录的该字段全部为FALSE
希望就在dbGrid的某事件中完成,请教. (提供说明或是代码均可)
在修改字段值保存时,记住修改的记录的id,然后update不等于该id的这个字段值为False,然后重新load数据,再定位到这个id记录上
我希望知道在dbGrid或是数据源的什么事件中写代码,如何检测到该字段发生了变化...
afterpost
数据源的afterpost事件
方法一: 使用触发器
方法二: 在afterpost事件中写代码
建议不要在触发器中写,因为要维护两处代码。
可以在afterpost里写,也可以在post动作后直接写处理语句。
参考代码如下:
注:Adoquery1与dbGrid关联,Adoquery2用于执行SQL语句。
修改某行记录的字段后,假设主键为keyid,值为123。
Adoquery1.post;
Adoquery2.sql.clear;
Adoquery2.sql.add("update table1 set column1 = false where keyid <> 123");
Adoquery2.Execute;
Adoquery1.reopen;
或
Adoquery1.close;
Adoquery1.open;
Adoquery1.locate(); 定位回主键为keyid,值为123的记录。
谢谢,有启发
因为操作之前必须有操作确认,我只能把代码写在DBGrid1MouseUp中
if DBGrid1.SelectedField.FieldName = 'school_Default' then ...
if Application.MessageBox('确定改变默认的工程单位吗? ...
结题了!
相关问答:
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
org.apache.jas ......
已知Python 中:
s = unicode("测试", "gb2312")
s = u'\u6d4b\u8bd5'
print s
测试
在Delphi里面如何将\u6d4b\u8bd5这样的还原成Gb2312的汉字呢?
找到个方法
......
我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例:
......
sql的软件在哪里可以下啊!在网上找了蛮多都用不了啊
随便搞一D版吧,
迅雷第一个就可以用
2000,2005都这样
http://119.147.41.16/down?cid=0698C2D64D7D637D90A6D2482298E6717D4F15CD&t=2&fmt=-1 ......
sqlserver2005 建立的数据库,与手持pda传输数据,最近突然出现无法传递数据的问题,pda端提示的错误时outofmemoryexception,但是pda上面的容量没有问题,
sqlserver的日子上的错误如下:
日期 2010-1-25 14:45: ......