2013-01-12 2 views
-4

다음 쿼리는 나에게 잘못된 구문 오류를주고있다잘못된 구문 오류

dt = sFunctions.ExecuteQuery(Variables.con, "House_Machinery", "usp_housemachinery_Master_insert" + Id + ",'" + txtItemName.Text + "'," + txthp.Text + "," + txtrate.Text + "," + Variables.sTendercode + "," + Variables.StrResourceHeaderCode); 
       sFunctions.setSqldbConnCommand_Close(sSqldbCommand); 

오류는 다음과 같다 :

incorrect syntax near ',' 

사람이 내 문제의 원인에 관해서는 어떤 통찰력을 가지고 있습니까 ?

는 여전히 같은 오류를 가지고.

+2

이 [SQL 인젝션] 개방 것으로 보인다 (http://en.wikipedia.org/wiki/SQL_injection). – Oded

+0

'usp_housemachinery_Master_insert'의 값은 무엇입니까? –

+0

그런 다음 저장 프로 시저 –

답변

2

당신은 " 단지 usp_housemachinery_Master_insert" 전에 누락되었습니다.

이 있어야한다 :

sFunctions.ExecuteQuery(Variables.con, 
         "House_Machinery", 
         "usp_housemachinery_Master_insert" + ... 

참고는 문자열 연결은 SQL Injection에 초대 - 당신은 쿼리를 매개 변수화합니다.


이 오류는 SQL 서버에서 오는 될 수 있습니다 - 당신은 당신이 그것을 보내는 정확히 확인해야합니다 - 그것은 아주 잘 무효 SQL이 될 수 있지만, 다른 텍스트 상자의 값을 알고하지 않고는 할 수 없습니다 확실히 말해봐.

+0

이봐, 난 내 답변하지만 내 화면 –

+0

@kunaljangade에 미치는 여전히 같은 오류를 수정? – Oded

+0

@kunaljangade - 모든 문자열 연결을 사용하여 생성 한 SQL을 검사해야합니다. 아마도 잘못되었을 것입니다. 그런 다음 질문에 대한 세부 정보를 추가 - - 편집 및 하단에 추가하는 대신 변경 완전히의, 내가 그 안에 – Oded