我的程序与sql sever相连,连接正常,但我用下面语句想实现添加和删除功能时sql sever中的数据都没变,我是菜鸟,求指点
添加程序:
procedure TForm5.Button1Click(Sender: TObject);
begin
if edit1.text='' then
    begin
    showmessage('请输入号码!');
    abort;
    end;
    adotable1.InsertRecord([edit1.text,edit2.text,edit3.text]);
     begin
         showmessage('已成功添加!');
         abort;
     end;
end;删除程序:
procedure TForm5.Button3Click(Sender: TObject);
var
loc1:boolean;
begin
loc1:=adotable1.locate('sno',edit2.text,[loCaseInsensitive]);
if loc1=false then
   begin
      showmessage('无此号码!');
      abort;
   end;
if loc1=true then
   begin
   adotable1.Delete;
   showmessage('已成功删除此号码!');
   end;
end;

解决方案 »

  1.   

    很少直接用TTable控件,一般用TQuery~所以不会答~~是不是Table控件的设置啊?还要Post才提交?
      

  2.   

    试试 楼上的 方法,也没用过 adotable ,可能使这个原因吧
    或者 在 sql sever 用触发器
      

  3.   

    用query吧,推荐使用adoquery,
    楼主可能刚看了几本delphi的书,估计书上是用table做的,sql sever 用触发器 还是不要用,
    query很简单的,dbgrid 和dbedit的 datasource 设置好就可以了,添加 query.insert (query.append) 
    删除 query.delete
      

  4.   

    我没有用过ADOTable1,一般都是用ADOQUERY的。但是刚才看了下,好像ADOTable1也有POST的方法的,所以估计在数据库操作后,也要执行这个命令来提交
      

  5.   

    procedure TForm5.Button3Click(Sender: TObject);
    var
    loc1:boolean;
    begin
    loc1:=adotable1.locate('sno',edit2.text,[loCaseInsensitive]);
    if loc1=false then
       begin
          showmessage('无此号码!');
          abort;
       end;
    if loc1=true then
       begin
       adotable1.Delete;
       adotable1.post;//要提交
       showmessage('已成功删除此号码!');
       end;
    end;