sql:='select...';
用adoconnection.execute(sql,cmdtex,[])怎么说是参数不对,那位朋友知道,指点一下吧

解决方案 »

  1.   

    adoconnection.execute('create table a(f1 int)')
      

  2.   

    sql:='select...';
    adoconnection.execute(sql);等于执行adoconnection.execute(sql,cmdText,[]);
      

  3.   

    用一个TADOCommand组件试试!?
      

  4.   

    只要sql语句正确,应该没问题吧
      

  5.   

    请问adoconnection 到底是什么对象,是ADODB.Connection 对象吗?
    我这里将当成是ADODB.Connection 吧。
    函数的声明如下:
    public abstract virtual ADODB.Recordset Execute (
                          System.String CommandText , 
                      System.Object RecordsAffected , 
                               System.Int32 Options )
    由于 C#中不支持省略参数,即使COM类型库中的参数是可选择,也必须填写所有的参数。但是ado中的许多常量C#中没有定义,所以调用ADO中的函数比较困难。解决的办法有三种,其中一种是late binding(后期绑定),它可以解决省略参数的问题。可以这样使用:
    adoconnection.GetType().InvokeMember("Execute",
      System.Reflection .BindingFlags.InvokeMethod,
                                               null,
                                       adoconnection,
                                          new Object[]{sql,null,null});