怕不通用,你可以严格按照SQL-92写,这样极少出现不通用的情况。

解决方案 »

  1.   

    请问"带参数的sql"是什么意思呢?存储过程?函数?还是你要执行的sql本来就要带有参数(如变量),如果是这样你可以先string sql,然后把sql语句和参数合成string,再执行,一般可以set个断点在string处,取出合成后的sql,去对应数据库中执行,通过了后基本就没问题了Oracle跟Sql server一些语句不一定通用,按照标准写基本会pass
      

  2.   

    Insert into register_dictDetial(record_id,xh,flag,register_time) values(:recordid,:xh,:flag,:registertime)这句怎么用oledbcommand执行?怎么给参数传值?
      

  3.   

    public void RecDataInsertIp(string str,int iNo)
    {

    string clientIp = str;
    int iIpNo = iNo;
    string strData = "Insert into data_ask(id,user_ip) values(?,?)";
    //ServSql servSql = new ServSql();
    OleDbCommand comm = new OleDbCommand(strData,this.ConnectToDb());
    comm.Parameters.Add("@id",OleDbType.Integer,4);
    comm.Parameters.Add("@cIp",OleDbType.VarChar,15);
    comm.Parameters["@id"].Value = iIpNo;
    comm.Parameters["@cIp"].Value = clientIp;
    int rec = comm.ExecuteNonQuery();
    this.CloseDb();
    }