2016-10-15 20 views
1

私はC#でWebサービスを作成していますWebサービスが正しく、すべてのパラメータが正しく渡されたと思って、なぜエラーが発生しているのか分かりません。欠落パラメータ

これはエラー

です。

System.InvalidOperationException:パラメータ:upddateがありません。 System.Web.Services.Protocols.HttpServerProtocol.ReadParametersでSystem.Web.Services.Protocols.ValueCollectionParameterReader.Read(NameValueCollectionのコレクション)System.Web.Services.Protocols.HtmlFormParameterReader.Read(HttpRequestの要求)で


()System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequestで
()

+0

れますか? – mybirthname

+0

'upddate' ' new SqlParameter( "@ upddate"、upddate)、 'this行 –

+0

@mybirthname ... –

答えて

1

あなたは、問題の行はあなたがあなたのクエリに指定されているnew SqlParameter("@upddate",upddate).あるupddatedatetimeタイプであることをparamsは言ったように。しかし、あなたはそれに文字列を与えています。だから、これは問題を生み出すことがあります。あなたの文字列は空であり、それ以前に作成したDateTimeを追加するのを忘れてしまったと思います。

if (upddate.ToString() == "") 
{ 
    dt = Convert.ToDateTime("01-01-1900", enGB); 
} 
else 
{ 
    dt = Convert.ToDateTime(date, enGB); 
} 

//when you go to the params, set dt for upddate instead of your string. 
SqlParameter[] param = 
{ 
    new SqlParameter("@id",id), 
    new SqlParameter("@upddate",dt), 
    .... 
} 

EDIT

あなたは、更新日時をしたい場合は、あなただけ書く必要がありますが、このようなものです:あなたはこの例外を受信ライン

if (upddate.ToString() == "") 
{ 
    dt = DateTime.Now;-> this will return you current date, which will be the update date ! 
} 
+0

しかし、私はこの '//ストア手順 @date日時、 設定した日付= @日、 にコードを変更し、upddateからdate' にすべてのパラメータを変更した場合には、作業を開始するが、私はupddateを使用したいです –

+0

@IbrahimShaikhは編集をチェックします。 – mybirthname

+0

@IbrahimShaikhそれを機能させましたか? – mybirthname