SQL Server 2005で開発されたストアドプロシージャを呼び出すだけです。 ここに格納されているprocの署名があります。SqlParameterとデータ型の問題
CREATE PROCEDURE [dbo].[GenericSearch]
(
@ModuleName VARCHAR(100),
@ViewName VARCHAR(100),
@WhereClause_XML XML,
@LogicalOperator VARCHAR(3)
)
AS
BEGIN
END
私はちょうど私のフロントエンドからこのストアドプロシージャを呼び出し、ここで
string[] Tables = new string[] { "TPMaster" };
SqlParameter[] cparams = new SqlParameter[4];
SqlParameter param;
param = new SqlParameter("@ModuleName", ModuleName);
param.DbType = DbType.String;
cparams[0] = param;
param = new SqlParameter("@ViewName", DataSource);
param.DbType = DbType.String;
cparams[1] = param;
param = new SqlParameter("@WhereClause_XML", strXml);
param.DbType = DbType.Xml;
cparams[2] = param;
param = new SqlParameter("@LogicalOperator", (rbAnd.Checked ? "AND" : "OR"));
param.DbType = DbType.String;
cparams[3] = param;
ds = Business.Common.GetDataSet("GenericSearch", cparams, Tables);
のように値を渡す私は、ストアドプロシージャと1つのXMLデータ型のすべての私のvarchar
データ型のためにそのparam.DbType
文字列を指定します。
私はエラーを取得しています
手順は、私はちょうど、エラーの原因を理解していない
'ntext型/ NCHAR/NVARCHAR' タイプ のパラメータ '@statement' を期待しています。それを修正する方法を教えてください。
私はあなたのアプリケーションが間違いなく正確なprocまたは正しいDBを指していることを再確認します。 procを落としてみて、あなたのアプリをやってもらえませんか? –
'@ statement 'はどこから来ますか? –
エラーメッセージが表示されます。 – Thomas