数据更新小问题 ( 积分: 100 )

  • 主题发起人 主题发起人 wqhatnet
  • 开始时间 开始时间
W

wqhatnet

Unregistered / Unconfirmed
GUEST, unregistred user!
VAR
ABC:STRING;
begin
aform1.Query1.SQL.Clear;
ABC:='UPDATE abc.db set '''+CBXTHEN.text+'''='''+EDITTWO.text+''' where '''+CBXIF.text+'''='''+editONE.text+'''';
SBAR.Panels[2].Text:=ABC;
aform1.Query1.SQL.add(abc);
aform1.Query1.ExecSQL;



这样为什么不行?
 
这样的写法有很多问题的,建议不这样来操作数据库
从语句上看是没有什么问题
把你怎么不行的提示信息写出来看看
 
'select * from abc.db where '''+CBXIF.text+'''='''+editONE.text+'''';
有很大的弊病,首先是如果数据多了,肯定速度受影响。这个“*”最起码应该变成字段;那样速度就会快多了!"abc.db" 也不合理。
这样:
'select field01,field02,field03 from Table1 where '''+CBXIF.text+'''='''+editONE.text+'''';
 
好杂哟 乱
 
abc:='select * from abc.db where '''+CBXIF.text+'''='''+editONE.text+'''';

这句有问题
select * from abc.db where db.字段='ddd' OK
select * from abc.db where 'db.字段'='ddd' X
 
用函数QuotedStr 。
 
ABC:='UPDATE abc.db set '''+CBXTHEN.text+'''='''+EDITTWO.text+''' where '''+CBXIF.text+'''='''+editONE.text+'''';
应改为
ABC:='UPDATE abc.db set '+CBXTHEN.text+'='''+EDITTWO.text+''' where '+CBXIF.text+'='+editONE.text+';
 
ABC:='UPDATE abc.db set '+CBXTHEN.text+'='''+EDITTWO.text+''' where '+CBXIF.text+'='''+editONE.text+'''';
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
594
import
I
I
回复
0
查看
2K
import
I
后退
顶部