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('确定改变默认的工程单位吗? ...
结题了!
相关问答:
我一个项目,有个插入操作,具体是这样的:
我有进货信息表。在出货时选择相应的进货信息,输入数量,选择部门后,点保存按钮,由于网络延时,点一下没有反映,于是用户就又点一下,导致一次插入了两条记录:
例:
......
今天做了一个存储过程 环境是SQL2000数据库
大致如下
建立临时表
定义员工游标
循环员工(属于1个公司)
......
从数据库中查询一张表的数据
select 部门,姓名 from tb
如何才能生成下面的xml格式
XML code:
<folder state="unchecked" label="全部">
<folder state="unchecked&qu ......
请问
添加新数据源->数据库->添加连接
这个界面下,数据源选择:Microsoft SQL Server (SqlClient);
服务器名:
应该写什么呢?
有谁知道?多谢各位!!
你到底是要连mysql还是mssql?
引用
请问
......
下面是XML初始文件内容
XML code:
<upd:Update xmlns:lar="http://schemas.microsoft.com/msus/2002/12/LogicalApplicabilityRules" xmlns:cmd="http://schemas.microsoft.com/msus/2002/12/Up ......