在OleDb和odbc的sql 语句中不能用@占位符,只能用?
对应的OleDbCommand中的参数的定义顺序也应该和sql语句中的占位符一样。如果调用的时储存过程,且此储存过程有返回值,则返回参数应该最先定义

解决方案 »

  1.   

    那如果占位符?代表相同的字段,可以简单的通过先后顺序自动区分吗,而且在赋值时,其中替换占位符的字段名称该如何填写,难道可以填写相同的名称吗,那会不会覆盖呢??
    例如:
    mCmm.Parameters.Add(new OleDbParameter("LoginPW",strLoginPW.Trim()));
    。。
    mCmm.Parameters.Add(new OleDbParameter("LoginPW",strLoginPW.Trim()));
      

  2.   

    可以给我一个例子吗,我也一直在找,好像不是很多,而起大多数都是调用存储过程,而不是通过SQL语句的。
      

  3.   

    可否有其他的实现路径,我想这些基本功能OleDbCommand还是提供的,不知哪位高手可以提供事例可以参考。
      

  4.   

    string strSQL;
    strSQL="select * From T_Base_Sign Where (LoginID=@a And LoginPW=@b) "+
    " And (Time_Limit=@c And Time_Start>@d Or Time_Limit=@e) ";
    ---------------------------------------------------------------------
    string strSQL;
    strSQL="select * From T_Base_Sign Where (LoginID=? And LoginPW=?) "+
    " And (Time_Limit=? And Time_Start>? Or Time_Limit=?) ";
      

  5.   

    这样作如何在赋值时区分两个Time_Limit参数?只是根据顺序系统自动区别吗?
      

  6.   

    这样作如何在赋值时区分两个Time_Limit参数?只是根据顺序系统自动区别吗?yes!