이 사이트가 처음입니다. 저는 현재 wcf 작업 중입니다. 나는이 노력에서 somethig를 달성하려고 노력하고 있지만 몇 가지 문제에 직면하고 있습니다 .AccountBalance라는 로컬 클래스가있는 MS Visual Stuido 2015에서 WCF 서비스가 실행 중이며이 클래스에는 account_number, account_balace 등과 같은 여러 문자열 속성이 있습니다. MS SQL 서버에서. 현재 콘솔 응용 프로그램에서 wcf 서비스를 사용하고 있습니다. 계정 번호를 키로 사용하여 콘솔 창에서 데이터베이스에서 레코드를 검색하려고합니다. 계정 번호를 입력하면 콘솔 응용 프로그램에서 데이터베이스의 나머지 레코드가 표시되어야하지만 오류가 발생하여 실행할 수 없습니다. 'string'에서 MyService.AccountBalanceRequest로 변환 할 수 없음 ' 다음은 다른 기본 클래스에서 상속 된 클래스 코드입니다.
[DataContract]
public class AccountBalanceRequest : Current_Account_Details
{
string account_number;
[DataMember]
public string Account_Number
{
get { return account_number; }
set { account_number = value; }
}
}
}
다음은 ADO.NET CODE입니다 ..
public bool AccountBalanceCheek(AccountBalanceRequest accountNumber)
{
using (SqlConnection conn = new SqlConnection(ConnectionString))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("SELECT * FROM
Current_Account_Details WHERE Account_Number ='" +
accountNumber.Account_Number + "'", conn))
{
cmd.Parameters.AddWithValue("@Account_Number",
accountNumber.Account_Number);
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
return true;
}
}
}
다음은 콘솔 애플리케이션 코드입니다 ..
public static void Balance()
{
MyService.HalifaxCurrentAccountServiceClient currentAccount = new MyService.HalifaxCurrentAccountServiceClient("NetTcpBinding_IHalifaxCurrentAccou
ntService");
MyService.AccountBalanceRequest cs = new MyService.AccountBalanceRequest();
string AccountNumber;
Console.WriteLine("\nEnter your Account Number--------:");
AccountNumber = Console.ReadLine();
cs.Account_Number = AccountNumber;
MyService.AccountBalanceRequest cs1 =
currentAccount.AccountBalanceCheek(AccountNumber);//Error on this line.
Console.WriteLine("Your Account Number is :" + cs.Account_Number);
Console.WriteLine("Your Account Type :" + cs.Account_Balance);
Console.WriteLine("Your Account Account Fee :" + cs.Account_Fee);
Console.WriteLine("Your Account Balance:" + cs.Account_Balance);
Console.WriteLine("Your Account Over Draft Limit :" + cs.Over_Draft_Limit);
Console.Write("--------------------------");
Console.ReadLine();
}
나도 이런 식으로 시도했습니다. 코드에서 오류가 발생했지만 예상 한 결과를 얻지 못했습니다. 여기에 코드가 있습니다.
public static void Balance()
{
MyService.HalifaxCurrentAccountServiceClient currentAccount = new MyService.HalifaxCurrentAccountServiceClient("NetTcpBinding_IHalifaxCurrentAccountService");
MyService.AccountBalanceRequest cs = new MyService.AccountBalanceRequest();
string AccountNumber;
Console.WriteLine("\nEnter your Account Number--------:");
AccountNumber = Console.ReadLine();
cs.Account_Number = AccountNumber;
// MyService.AccountBalanceRequest cs1 = currentAccount.AccountBalanceCheek(AccountNumber);
if (currentAccount.AccountBalanceCheek(cs))
{
Console.WriteLine("Your Account Number is :" + cs.Account_Number);
Console.WriteLine("Your Account Type :" + cs.Account_Balance);
Console.WriteLine("Your Account Account Fee :" + cs.Account_Fee);
Console.WriteLine("Your Account Balance:" + cs.Account_Balance);
Console.WriteLine("Your Account Over Draft Limit :" + cs.Over_Draft_Limit);
Console.Write("--------------------------");
Console.ReadLine();
//Console.Clear();
}
}
출력 이미지입니다. 이것은 출력 이미지입니다
올바른 방법은 다음과 같습니다.
currentAccount.AccountBalanceCheek(cs);
아니:
currentAccount.AccountBalanceCheek(AccountNumber);
매개 변수의 유형은 MyService.AccountBalanceRequest
, 아니기 때문 string
입니다.
나는 당신에게 도움이되기를 바랍니다 :)
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다