2016-10-05 21 views
0

私はライブラリ "Dapper"を使用してMS SQLと接続します。私は、ストアドプロシージャを呼び出すとき、それは、ストアドプロシージャを見つけることができないエラーメッセージExecuteScalarがストアドプロシージャを見つけることができません

を示し

しかし、ストアドプロシージャは既にデータベースに存在します。 この問題を解決するにはどうすればよいですか?ありがとう。 CommandTypeStoredProcedureに設定されている

public static string WrtoLogDb(string id, string id1) 
{ 
    using (var conn = new SqlConnection(connStrTest)) 
    { 
     try 
     { 
      conn.Open(); 
      var strf33_schD = conn.ExecuteScalar<int>("exec DelClsCourTimeTest", new { id, id1 }, commandType: CommandType.StoredProcedure); 
      return strf33_schD.tostring(); 
     } 
     catch (Exception EX) 
     { 
      return EX.ToString(); 
     } 
    }   
} 
+3

Dapperが何か奇妙なことをしない限り、 'CommandType'がストアドプロシージャであると言っているなら、あなたは' exec'ステートメントではなくプロシージャ名を提供すると思います。 –

+0

ストアドプロシージャの接頭辞を試しましたか?私はそれが何であるかを覚えていませんが、 'dbo.DelClsCourTimeTest'のようなものです。 –

+0

ストアドプロシージャはどのスキーマにありますか? – TheEdge

答えて

0

そしてCommandTextは自分の場合"DelClsCourTimeTest"には、プロシージャ名でなければなりません。

関連する問題