2011-08-20 2 views
1

입력 필드와 서버 측 (C로 코딩되고 sql.h 사용)에서 원하는 쿼리를 전달하여 모든 DB에 연결할 수있는 클라이언트 인터페이스에서이 쿼리를 구문 분석합니다 콘텐츠를 JSON 형식으로 반환합니다. 나는 이것을 쉽게 수행 할 수있다. select *를 tablename 쿼리에서 사용하여 count (*) 쿼리를 사용하여 행 수를 얻고 이것을 for 루프로 사용하여 JSON을 버퍼로 인쇄한다. 다른 검색어에 대해 어떻게 동일한 결과를 얻을 수 있습니까?ODBC를 사용하여 JSON에 대한 결과 셋 형식 지정

어디서나 행 단위 바인딩이 도움이 될 수 있지만 결과 세트를 json 형식으로 구문 분석하는 논리는 무엇입니까? (가정에서 나는 행 방향 형식의 데이터를 필요로하는 예 : {"Records" : [["col heading 1", "col heading 2", "col heading 3"], ["row content 1", "row content 2", "row content 3"]...]}를.)

+0

C에서 서버 측을 쓰려는 이유가 있습니까? 당연히 그것은 할 수 있지만이 직업에 더 좋은 도구가 주어진다면 나는 왜 당신이 고통을 느끼고 있는지 볼 수 없다. 웹 프레임 워크 도구로 작성된 그런 서버는 단지 몇 줄의 코드 일 뿐이다. – 6502

+0

Lol. 회사의 요구 사항. –

+0

"ODBC 구현"? ODBC C lib가 구현되었습니다. 그냥 포장하고 기능을 추가 할 수 있습니다. 또는 나는 무엇인가 놓치고있다? –

답변

2

는 ODBC는 UPDATE/DELETE/INSERT 제표에 대한 영향을받는 행의 수를 알아낼 수있는 방법 (SQLRowCount)를 제공 - http://msdn.microsoft.com/en-us/library/ms711835%28v=VS.85%29.aspx 참조 ...

당신이 SELECT COUNT(*)으로 쿼리를 두 번 실행하거나 또는 결과 집합을 통해 당신은 그냥 루프와 ODBC가 제공하는 행을 카운트 SELECT의 행의 번호를 찾으려면 ...

참조 http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/6fe5403d-900c-4b07-9d00-1f42731b5602
,691,363,210 및

참고 : 두 번째 링크는 PHP를 언급하고 있지만 행동의 원인은 ODBC 표준 및 사용 된 ODBC 드라이버에 달려 있기 때문에, 대답은 언어 불가 지론이다.

+0

아픈 모양. –