2012-07-15 45 views
0

我嘗試寫一些方法,這應該是DB獨立的,所以,同樣的代碼可以獨立使用。DB(甲骨文,SQL服務器)製作通用數據庫創建方法調用

我使用的IDbConnection和IDbCommand的的接口爲此.. 在調用該過程時,它給出錯誤說非法變量名稱/編號錯誤。雖然我能夠直接調用聯查詢(直接指定查詢的命令文本) 下面是示例調用..

using (IDbConnection connection = this._providerFactory.CreateConnection()) 
       { 
        // create the command object using the conneciton object 
        IDbCommand command = connection.CreateCommand(); 
        //start 
        command.CommandType = CommandType.StoredProcedure; 
        command.CommandText = "GetResponse"; 

        IDbDataParameter menuParam = this._providerFactory.CreateParameter(); 
        menuParam.DbType = DbType.String; 
        menuParam.Direction = ParameterDirection.Input; 
        menuParam.ParameterName = "@V_USER_ID"; 
        command.Parameters.Add(menuParam); 

        IDbDataParameter menuParam2 = this._providerFactory.CreateParameter(); 
        menuParam2.Size = 20; 

        menuParam2.DbType = DbType.String; 
        menuParam2.Size = 20; 
        menuParam2.Direction = ParameterDirection.Output; 
        menuParam2.ParameterName = "@V_ROLE_ID"; 
        menuParam2.Value = DBNull.Value; 
        command.Parameters.Add(menuParam2); 
        //end 



        command.ExecuteNonQuery(); 

} 

回答

0

正在這裏提供任何值(並刪除@符號):

   IDbDataParameter menuParam = this._providerFactory.CreateParameter(); 
       menuParam.DbType = DbType.String; 
       menuParam.Direction = ParameterDirection.Input; 
       menuParam.ParameterName = "V_USER_ID"; 
       command.Parameters.Add(menuParam); 
+0

我試過了,不起作用。還有什麼? – Nits 2012-07-15 16:31:23

+0

@Nits - 更新了我的答案..你沒有提供第一個參數的值。 – 2012-07-15 16:54:07

+0

仍然沒有運氣:(得到相同的錯誤ORA-01036:非法的變量名稱/編號 – Nits 2012-07-15 17:19:41