2011-05-29 71 views
0

我想從互聯網上更新我的sqlite內容。 我已經將sqlite數據庫複製到文檔目錄,並從那裏使用ASIHTTPRequest獲取文本sqlite更新(準備好的sqlite語句與值和鍵)。iphone/sqlite的問題

我的sqlite的語句如下:

INSERT OR REPLACE INTO items (id, name, parentid, orderme) VALUES (...); 

遙控器上的sqlite的(一個我得到的對賬單)的ID是1:1與那些在我的本地項目。

更新雖然只發生在已經找到的id上。當沒有發現Id時,沒有插入發生。 sqlite iphone版本有問題嗎?

現在有什麼奇怪的是,如果我從應用程序內部運行相同的命令(而不是從互聯網接收),它會創建所需的數據。我已經用fmdb和sqlite原生命令嘗試過了,所以插入代碼時一定有問題。你對此有何見解?

(我沒有使用核心數據的一些便攜性的原因)。

+0

sql查詢看起來非常好,它的obj c部分怎麼樣? (我目前在應用商店中的sql有相同的內容) – Sam 2011-05-29 19:55:51

+0

你能澄清一件事情:你說遠程數據與本地數據是1:1,所以不應該每行都有一個現有的ID,因此,你不會沒有任何INSERT正在進行,只是REPLACE?數據是如何從你的服務中返回的,也許它只是返回現有的行,所以你只是沒有看到任何插入的機會?在嘗試更新數據庫之前是否記錄了數據? – 2011-05-29 20:54:14

+0

不,因爲我在下面回答,實際上它是一行腳本錯誤。我試圖打包所有的插入(替換),以便我不會有大塊(「名稱」是一個大的文本字段)。 這很有趣,這樣的小事情會讓你延遲發展。 – Panagiotis 2011-05-30 07:31:58

回答

0

所以,實際上腳本是好的。

SQLITE不支持多行命令(像MySQL一樣)。所以一旦我把它們分解成多行,一切正常。