query1.close;
              query1.sql.clear;
              query1.SQL.Add('Insert Into dclb values(:PointNo, :dcrq, :cd, :dcsj)');
              query1.ParamByName('pointNo').asinteger := StoredProc1.fieldbyname('pointNo').asinteger;
              query1.ParamByName('dcrq').asDateTime := date;
              query1.ParamByName('cd').asinteger := StoredProc1.fieldbyname('cd').asinteger;
              query1.ParamByName('dcsj').asdatetime := sj;
              query1.ExecSQL; //或者用Open

解决方案 »

  1.   

    请注意OPEN 和 EXECSQL 的区别,
    OPEN 是指打开一个数据集
    EXECSQL 是执行一次数据操作上面: V_Lucky(Lucky) 说的
    query1.ExecSQL; //或者用Open
    也许代码执行没有问题,但是,却有不同的效果。
    如果SQL语句为:SELECT * FROM TABLENAME
    使用
    query1.ExecSQL;是肯定有问题的。
      

  2.   

    to V_Lucky , combobox : 我说的是 ms 的 transact-sql 啊,里面有很多控制流的语句的,
    比如什么什么if then 的东西, delphi可以直接把这些sql.add()进去吗? 
      

  3.   

    可以, 不过有一定的限制, 通常如果使用ado而不是bde的话, 大多数是支持的
      

  4.   

    可以的, 当然有一些不能用, 如果是ado的话, 基本上都是可以使用的
      

  5.   

    我在客户端所写的sql语句全部都是在服务器端执行的吗? 如果不是有那些是在客户端执行的呢?
      

  6.   

    sql全部都是在服务器上执行的, 不过可能的是, 会返回结果到客户端