2011-08-20 28 views
1

我正在處理客戶端接口,它可以通過在輸入字段和服務器端(使用C編碼並使用sql.h)中傳遞所需查詢來連接到任何數據庫,解析此查詢並以JSON格式返回內容。我能夠通過使用select * from tablename query來輕鬆實現這一點,因爲我能夠使用count(*)查詢獲取行數,並將其與for循環一起用於將我的JSON打印到緩衝區中。我如何完成任何其他查詢的相同?使用ODBC將任何結果集格式化爲JSON使用ODBC

我讀了一些地方,行智能綁定可能會有所幫助,但解析結果集到json格式背後的邏輯是什麼? (假設下,我需要的數據逐行格式例如:{"Records" : [["col heading 1", "col heading 2", "col heading 3"], ["row content 1", "row content 2", "row content 3"]...]}。)

+0

想要在C中編寫服務器端的任何理由?當然可以做到,但是如果今天有更好的工具可用,我看不出爲什麼你會給自己造成這樣的痛苦......用任何Web框架工具編寫的這樣的服務器只是幾行代碼。 – 6502

+0

大聲笑。公司的要求。 –

+0

「實現ODBC」?有實施ODBC C庫。你可以把它包起來並添加你需要的功能。或者我錯過了什麼? –

回答

2

ODBC只提供了一個方法(SQLRowCount)找出受影響的行數UPDATE/DELETE/INSERT聲明 - 見http://msdn.microsoft.com/en-us/library/ms711835%28v=VS.85%29.aspx ...

,如果你想找出一個SELECT的行數你要麼執行查詢第二次作爲SELECT COUNT(*),或者你只是在結果集循環和計數行ODBC提供...

http://social.msdn.microsoft.com/Forums/en/vcgeneral/thread/6fe5403d-900c-4b07-9d00-1f42731b5602

注:雖然第二個鏈接中提到的PHP,答案是語言無關的,因爲行爲的原因在於ODBC標準和所使用的ODBC驅動程序。

+0

我看着這個。 –