sql 要写成 @参数名   oledb  是?

解决方案 »

  1.   

    用?不行? 我用的sqlserver 不用@参数行不行!!!
      

  2.   

    你如果是SqlServer就用命名参数,如果不是的话就用占位符啊.这个不是结了吗?还有问题吗?
      

  3.   

    OLE DB .NET 提供程序使用标有问号 (?) 的定位参数,而不使用命名参数。示例
    [Visual Basic, C#] 下面的示例创建一个 OleDbParameter 并设置它的一些属性。
    [C#] 
    public void CreateOleDbParameter() 
     {
        OleDbParameter myParameter = new OleDbParameter("Description", OleDbType.VarChar, 88);
        myParameter.Direction = ParameterDirection.Output;
     }
    比如上面的"Description"可以用@开头,也可以没有,也可以用
      

  4.   

    public void AddOleDbParameters() 
     {
     // ...
     // create myDataSet and myDataAdapter
     // ...
       myDataAdapter.SelectCommand.Parameters.Add("@CategoryName", OleDbType.VarChar, 80).Value = "toasters";
       myDataAdapter.SelectCommand.Parameters.Add("@SerialNum", OleDbType.Integer).Value = 239;
       myDataAdapter
      

  5.   

    又比如也有这样的用法:public void CreateOleDbParamColl(OleDbConnection myConn) {
        OleDbCommand myCommand = new OleDbCommand("SELECT * FROM Customers WHERE CustomerID = ?", myConn);
        OleDbParameterCollection myParamCollection = myCommand.Parameters;
        OleDbParameter myNewParameter = myParamCollection.Add("CustomerID", OleDbType.VarChar, 5, "CustomerID");
     }
      

  6.   

    我需要java移植.net 不想改sql
      

  7.   

    看你用的provider,如果是sql server的话,只能用命名参数.如果是oledb,则只能用参数占位符.