Flex – 使SQLite只建立一個串連

來源:互聯網
上載者:User
文章目錄
  • 問題
  • 解決
  • 詳細描述
  • 代碼

 

問題

當執行AIR應用程式的時候,我們串連到資料庫檔案並建立相同的表,這樣肯能遺失資料。

解決

解決這個問題的簡單的辦法是,驗證是否表被建立到資料庫檔案時使用了SQLite指令IF NOT EXISTS。

 

 

 

 

詳細描述

 

解決這個問題的一種方法是下面這段代碼。第一個函數僅僅串連到database.db,第二個函數在資料庫檔案中建立表。通常我們建立一個表,不驗證是否表已經建立到檔案database.db,我們僅僅使用了SQLite指令的CREATE TABLE,但是運行應用程式時它總是建立表。使用 IF NOT EXISTS 我們就可以解決。

 

 

 

代碼

private function init():void<br />{<br />conn = new SQLConnection();<br />try<br />{<br /> var dbFile:File = File.applicationStorageDirectory.resolvePath("database.db");<br /> conn.open(dbFile);<br />}<br />catch (error:SQLError)<br />{<br />trace("Error opening database");<br />trace("error.message:", error.message);<br />trace("error.details:", error.details);<br />return;<br />}<br />createTable();<br />}</p><p>private function createTable():void<br />{<br />createStmt = new SQLStatement();<br />createStmt.sqlConnection = conn;<br />var sql:String = "";<br />sql += "CREATE TABLE IF NOT EXISTS rssURL (";<br />sql += "idINTEGER PRIMARY KEY AUTOINCREMENT,";<br />sql += "postNameTEXT,";<br />sql += "postURLTEXT,";<br />sql += "postTextTEXT";<br />sql += ")";<br />createStmt.text = sql;</p><p>try<br />{<br />createStmt.execute();<br />}<br />catch (error:SQLError)<br />{<br />trace("Error creating table");<br />trace("CREATE TABLE error:", error);<br />trace("error.message:", error.message);<br />trace("error.details:", error.details);<br />return;<br />}<br />} 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.