SQLStr:='update Tab set Name='+Quotedstr(Edit1.Text)+','+'Date='+Quotedstr(DateToStr(Date))+'where Name='+Quotedstr(NameStr)+'and Date='+Quotedstr(DateStr);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(SQLStr);
ADOQuery1.ExecSQL;
ADOTable1.Active:=True;//这的意思是修改的效果在DBGRID1里面显示出来,ADOTABLE1是连接到DataSource1的,而DataSource1连接到DBGRID1里面,有时我第一次修改没有效果,我再修改一次就可以修改了,为什么呢?
8 个解决方案
#1
把ADOTable1.Active:=True;这句话放到
SQLStr:='update Tab set Name='+Quotedstr(Edit1.Text)+','+'Date='+Quotedstr(DateToStr(Date))+'where Name='+Quotedstr(NameStr)+'and Date='+Quotedstr(DateStr);
这段话之前.
SQLStr:='update Tab set Name='+Quotedstr(Edit1.Text)+','+'Date='+Quotedstr(DateToStr(Date))+'where Name='+Quotedstr(NameStr)+'and Date='+Quotedstr(DateStr);
这段话之前.
#2
//应该不会有问题
ADOTable1.Active:=False;
SQLStr:='update Tab set Name='+Quotedstr(Edit1.Text)+','+'Date='+Quotedstr(DateToStr(Date))+' where Name='+Quotedstr(NameStr)+' and Date='+Quotedstr(DateStr);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(SQLStr);
ADOQuery1.ExecSQL;
ADOTable1.Active:=True;
ADOTable1.Active:=False;
SQLStr:='update Tab set Name='+Quotedstr(Edit1.Text)+','+'Date='+Quotedstr(DateToStr(Date))+' where Name='+Quotedstr(NameStr)+' and Date='+Quotedstr(DateStr);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(SQLStr);
ADOQuery1.ExecSQL;
ADOTable1.Active:=True;
#3
你在执行完插入代码后,
查询一遍
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * form Tab');
ADOQuery1.Open;
查询一遍
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * form Tab');
ADOQuery1.Open;
#4
打错了,是select * from Tab
#5
我想应该没有什么问题。
但是就在进行操作的时候第一次是不能修改的,可能要第二次或是第三次才可以修改。
但是就在进行操作的时候第一次是不能修改的,可能要第二次或是第三次才可以修改。
#6
数据库更新需要时间,在ADOTable1.Active:=True;前sleep(100)一下,就可以了。
#7
实在不行不要用adotable了用adoquery吧
#8
你确保你的CONNECTION打开了吗??
#1
把ADOTable1.Active:=True;这句话放到
SQLStr:='update Tab set Name='+Quotedstr(Edit1.Text)+','+'Date='+Quotedstr(DateToStr(Date))+'where Name='+Quotedstr(NameStr)+'and Date='+Quotedstr(DateStr);
这段话之前.
SQLStr:='update Tab set Name='+Quotedstr(Edit1.Text)+','+'Date='+Quotedstr(DateToStr(Date))+'where Name='+Quotedstr(NameStr)+'and Date='+Quotedstr(DateStr);
这段话之前.
#2
//应该不会有问题
ADOTable1.Active:=False;
SQLStr:='update Tab set Name='+Quotedstr(Edit1.Text)+','+'Date='+Quotedstr(DateToStr(Date))+' where Name='+Quotedstr(NameStr)+' and Date='+Quotedstr(DateStr);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(SQLStr);
ADOQuery1.ExecSQL;
ADOTable1.Active:=True;
ADOTable1.Active:=False;
SQLStr:='update Tab set Name='+Quotedstr(Edit1.Text)+','+'Date='+Quotedstr(DateToStr(Date))+' where Name='+Quotedstr(NameStr)+' and Date='+Quotedstr(DateStr);
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add(SQLStr);
ADOQuery1.ExecSQL;
ADOTable1.Active:=True;
#3
你在执行完插入代码后,
查询一遍
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * form Tab');
ADOQuery1.Open;
查询一遍
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * form Tab');
ADOQuery1.Open;
#4
打错了,是select * from Tab
#5
我想应该没有什么问题。
但是就在进行操作的时候第一次是不能修改的,可能要第二次或是第三次才可以修改。
但是就在进行操作的时候第一次是不能修改的,可能要第二次或是第三次才可以修改。
#6
数据库更新需要时间,在ADOTable1.Active:=True;前sleep(100)一下,就可以了。
#7
实在不行不要用adotable了用adoquery吧
#8
你确保你的CONNECTION打开了吗??