복붙노트

[SQL] 어떤 방법 "ToString"에 대한 과부하는 1 개 인수를

SQL

어떤 방법 "ToString"에 대한 과부하는 1 개 인수를

나는 데이터베이스에서 datas을 읽을 수있는 데이터 판독기가 있습니다. 나는 판매 테이블에서 TotalPrice을 읽고있다. 나는 소수점 이하 2 자리로 총 가격을 보여 드리고자합니다.

코드는 뭔가 링크 즉 :

TotalPrice.Text = myReader["TotalPrice"].ToString("N2");

그러나 나는이 오류를 encounted : 방법 "ToString"에 대한 과부하는 1 개 인수를 사용하지 않습니다 코드 문제는 무엇입니까?

해결법

  1. ==============================

    1.TotalPrice는 진수 열이며, 그 myReader는 DataReader를 가정하면 :

    TotalPrice는 진수 열이며, 그 myReader는 DataReader를 가정하면 :

    TotalPrice.Text = myReader.GetDecimal(myReader.GetOrdinal("TotalPrice")).ToString("N2");
    

    생각이 여기 myReader의 인덱서 개체를 반환 (당신이 myReader를 호출 할 때 [ "TotalPrice은"] 사용하고있는) 것입니다. 이 열이 입력 한 내용을 컴파일 타임에 알 수 없기 때문에 그것은에있다. .GetDecimal ()를 사용하여, 당신은 당신이 진수 값 다시, 또는 오류가 발생하는 것을 보장한다.

    형식 문자열을 소요로 .toString 과부하는 소수에없는 객체에 선언됩니다. 객체의로 .toString는 인수를 사용하지 않습니다.

    GetOrdinal에 대한 내부 호출이 필드의 인덱스가 여러 데이터 행에 대한 루프에서이 작업을 수행하는 경우 이름 -을 부여 반환, 당신은 아마 캐시 싶어 변수에 그.

  2. ==============================

    2.인 String.format ()는 트릭을 할 것입니다. F2는 2 명 진수에 대한 고정 소수점 표현이다.

    인 String.format ()는 트릭을 할 것입니다. F2는 2 명 진수에 대한 고정 소수점 표현이다.

    TotalPrice.Text = string.Format("{0:F2}", (double)myReader["TotalPrice"]);
    
  3. from https://stackoverflow.com/questions/9091177/no-overload-for-method-tostring-takes-1-arguments by cc-by-sa and MIT license