2016-10-15 4 views
1

나는 C#에서 웹 서비스를 만드는 오전 왜 내 웹 서비스가 정확하고 모든 매개 변수를 올바르게 전달했다고 생각하여 오류가 발생하는지 이해할 수 없습니다.누락 된 매개 변수

이것은 오류

입니다.

System.InvalidOperationException : 누락 된 매개 변수 : upddate. System.Web.Services.Protocols.ValueCollectionParameterReader.Read (NameValueCollection은 컬렉션) System.Web.Services.Protocols.HtmlFormParameterReader.Read에서
(HttpRequest를 요청)에
System.Web.Services.Protocols.HttpServerProtocol.ReadParameters에서
() System.Web.Services.Protocols.WebServiceHandler.CoreProcessRequest에서
()

+0

이있는이 예외가 발생 '선? – mybirthname

+0

'upddate' 'new SqlParameter ("@ upddate", upddate),이 줄 –

+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), 
    .... 
} 

편집

업데이트 날짜를 원하는 경우에, 당신은 쓰기 만한다은 다음과 같이이다 :

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

하지만 난이 '// 저장 프로 시저에 @date 날짜, 설정된 날짜 = @ 날짜, 을 코드를 변경하고 date' 는 작업 시작에 upddate에서 모든 매개 변수를 변경하지만 난 upddate를 사용하고자 할 때 –

+0

@IbrahimShaikh가 편집을 확인합니다. – mybirthname

+0

@IbrahimShaikh 해결 했습니까? – mybirthname

관련 문제