2014-03-24 2 views
-1

타입 캐릭터 및 방법 그룹의 피연산자에 적용 할 수 없습니다 내 코드는피연산자는 '+'내가 쿼리에 문제가

String reqSQL = " update Client set codClt = " + myClient._codClt 
    + ",nomClt = '" + myClient._nomClt 
    + "', prenClt =' " + myClient._prenClt 
    + " ' ,adressClt =' " + myClient._adressClt 
    + " ',numCin= " + myClient._numCin 
    + " ,datDelivCin = '" + myClient._datDelivCin 
    + "' , datNaiss = '" + myClient._datNaiss 
    + "',lieuNaiss = '" + myClient._lieuNaiss 
    + "',myClient.etatCiv = '" + myClient._etatCiv 
    + "',myClient.profClt = '" + myClient._profClt 
    + "',myClient.numTelClt = '" + myClient.numTelClt 
    + "' Where (codClt=" + myClient._codClt + ")"; 

내가이 오류입니다

The operand '+' can't be applied to operands of type string and method group 

myClient는 객체입니다.

+0

SQL 문을 작성하는 것은 매우 나쁜 방법입니다. – Alberto

+9

['parameterized queries'] (http://blog.codinghorror.com/give-me-parameterized-sql-or-give-me-death/)를 사용하십시오. . 이러한 종류의 문자열 연결은 ['SQL Injection'] (http://en.wikipedia.org/wiki/SQL_injection) 공격에 개방적입니다. –

+0

어떤 라인에서 오류가 발생합니까? –

답변

4

메서드 이름 뒤에 ()을 쓰는 것을 잊어 버렸습니다.

내가 추측해야한다면, myClient.numTelClt이 방법이라고 말할 수 있습니다. 대신 myClient.numTelClt()과 함께 사용하십시오.

+0

나는 어떤 방법도 가지고 있지 않습니다. _codClt와 같은 속성을 사용했습니다. –

+0

@TarekFellah 다시 numTelClt를 확인하십시오. – helb

+0

@helb 이것은 추측이나 대답이 아닙니다. 상황을 완전히 이해하지 않고 대답하기 전에 주석에서 명확히해야합니다. –

0

변수 이름 지정 규칙에 따라 오타가있을 수 있습니다. numTelClt는 _numTelClt 일 수 있습니다.

그러나 myClient의 클래스 코드를 표시 할 수 있으면 대답하는 것이 훨씬 쉬울 것입니다.

+0

이것은 추측이 아닌 대답입니다. 상황을 완전히 이해하지 않고 대답하기 전에 주석에서 명확히해야합니다. –