웹 서비스를 처음 사용합니다.C#을 사용하여 webservice를 통해 저장 프로 시저를 호출하는 방법?
데이터베이스 액세스는 ADO.NET을 사용하여 저장 프로 시저에 액세스해야합니다.
어떤 아이디어가 있습니까?
웹 서비스를 처음 사용합니다.C#을 사용하여 webservice를 통해 저장 프로 시저를 호출하는 방법?
데이터베이스 액세스는 ADO.NET을 사용하여 저장 프로 시저에 액세스해야합니다.
어떤 아이디어가 있습니까?
The C# Station ADO.NET Tutorial - Lesson 07: Using Stored Procedures를 참조하십시오
이 단원에서는 데이터 액세스 코드에 저장 프로 시저를 사용하는 방법을 보여줍니다. 다음은이 학습의 목적은 다음과 같습니다
- 가 저장 프로 시저를 사용하는 SqlCommand 개체를 수정하는 방법에 대해 알아보십시오.
- 저장 프로 시저에 매개 변수를 사용하는 방법을 이해하십시오. 당신은 새로운 시작하면
@Andrew Hare, 스토어드 프로 시저의 정상적인 실행을 알고 있습니다. 웹 서비스에서 sp를 호출하고 실행하는 방법을 알고 싶습니다. 여기 웹 서비스 롤은 무엇입니까? 수행하는 방법 ? – Anuya
+1 저장 프로 시저를 통해 ADO.NET에 액세스하기위한 좋은 자습서입니다. 누구든지 ADO.NET 웹 서비스에 대해 똑같이 좋은 것을 알고 있습니까? –
@karthik, 나는 당신이 어쨌든 이것을 필요로 할 것이라고 생각합니다. –
, 나는 강하게 당신이 (대신 이전 스타일의 ASMX 웹 서비스의) WCF를 사용하여 시작하는 것이 좋습니다.
이 경우, 다음이 필요합니다
1) 서비스 계약 웹 서비스에 (동작을 (를 정의하는 인터페이스)) :
[ServiceContract]
public interface IMyDataService
{
[OperationContract]
YourDataType GetData(int idValue);
}
2) 통화에 대한 데이터 구조를 정의하고 데이터 계약 (여기 : 리턴 타입 YourDataType
) :
[DataContract]
public class YourDataType
{
bool boolValue = true;
string stringValue = "Hello ";
[DataMember]
public bool BoolValue
{
get { return boolValue; }
set { boolValue = value; }
}
[DataMember]
public string StringValue
{
get { return stringValue; }
set { stringValue = value; }
}
}
,
3) 실제로 웹 서비스 메소드를 구현하고 저장 프로 시저를 사용하여 데이터베이스에 대한 호출을 만들 것 서비스 클래스 -이 같은 : 나는 완전히 같은데 알고,
public class YourDataService : IMyDataService
{
public YourDataType GetData(int idValue)
{
YourDataType result = new YourDataType();
using(SqlConnection _con = new SqlConnection("server=(local);database=test;integrated security=SSPI;"))
{
using(SqlCommand _cmd = new SqlCommand("YourStoredProcName", _con))
{
_cmd.Parameters.AddWithValue("@ID", idValue);
_cmd.Parameters.Add("@OutStringValue", SqlDbType.VarChar, 20)
.Direction = ParameterDirection.Output;
_cmd.Parameters.Add("@OutBoolValue", SqlDbType.Bit)
.Direction = ParameterDirection.Output;
_cmd.ExecuteNonQuery();
result.StringValue = _cmd.Parameters["@OutStringValue"].Value.ToString();
result.BoolValue = Convert.ToBoolean(_cmd.Parameters["@OutBoolValue"].Value);
}
}
return result;
}
}
여기에 무엇 당신을 저장 프로 시저의 모양은 다음과 같습니다 (내 경우에는 다음과 같습니다.
CREATE PROCEDURE dbo.YourStoredProcName
(@ID INT, @OutStringValue VARCHAR(20) OUTPUT, @OutBoolValue BIT OUTPUT)
이것은 완전히 다를 수 있습니다! 이 사실을 실제 사례에 맞게 수정해야합니다!
4) 궁극적으로, 당신은 콘솔 응용 프로그램 또는 NT 서비스)에 자신을 IIS에서 (당신의 WCF 서비스를 호스팅 할 수있는 방법이 필요하거나 것이다 - 그건 그냥 표준 WCF는 적어도 마지막으로
5) 일입니다, 클라이언트 응용 프로그램은 WCF 서비스에 "서비스 참조 추가"를 호출하여 다시 호출 할 수 있어야합니다. 이것은 완전히 표준적인 WCF 항목이며 여기서는 특별한 조치가 필요하지 않습니다.
WCF 서비스가 데이터베이스에 저장된 proc를 호출하여 사용자 지정 데이터 형식의 일부 값을 호출자에게 반환합니다.
마크
환상적인 답변! – davewasthere
간단한 일 [웹 서비스, 저장 프로 시저 및 SQL 쿼리를 통해 데이터 액세스 (http://www.csharphelp.com/archives/archive252.html) – rahul
위의 URL은 더 이상 작동하지 않습니다. .따라서 동일 업데이트. http://www.csharphelp.com/2006/07/data-access-through-web-services-stored-procedures-and-sql-query/ – Ditty