<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 312, 文章 - 14, 評論 - 1393, 引用 - 0
    數據加載中……

    Sqlite DateTime 類型 讀取和寫入格式 注意的問題

    今天遇到個問題.
    首先插入一個DataTime格式的數據:
    string sql="insert into [table] (date_time) values('" + date_time.ToString() + "'";
    執行如上命令.插入沒有報告錯誤.

    但是,我又用一條命令讀取時:
    string sql="select * from [table];
    .....
    IDataReader dr=cmd.ExecuteReader();
    ...
    object obj=dr["data_time"];//在這里出錯了,說是無法轉換為DataTime格式,字符串不正確

    --------------------------------------------------------------------------------------------

    我找了一天的教程,找了一天的google.
    答案是:sqlite用的全球時間UTC,要用datetime()函數轉換若干.
    我也試了,發現好像運行的不像教程上說的那樣!

    實在沒辦法,來硬的吧,硬著頭皮看源代碼吧.
    他的繼承格式大致如下:
    SqliteConvert-->SqliteBase-->Sqlite3
    在SqliteConvert中定義了轉換格式,上面說的很明白,默認DataTime格式為 ISO8601
    然后,SqliteConnection 用到了Sqlite3.

    我就研究了SqliteConnection的源代碼,發現Sqlite不是用的什么全球的UTC時間.
    其實就是用的國際標準ISO 8601標準.

    那我就著手看怎么才能讓我的程序和sqlite兼容.
    我生成的字符串和sqlite的有什么不同.

    最后看了msdn上對iso 8601的描述:(http://msdn.microsoft.com/zh-cn/library/ms187819.aspx)
    給出了字符串示例:
    * 2004-05-23T14:25:10
    * 2004-05-23T14:25:10.487

    而我生成的字符串 data_time.ToString()和他的有一個不同的地方.
    就是沒有那個T....(其實我也不明白那個T有什么關鍵作用,反正Access,MySql,MsSql都沒這問題的)

    我又在想,如果我用一個T會如何?
    就嘗試.用data_time.ToString("s");這種方法轉換成 iso 8601標準字符串格式

    結果我吃屎吃了個醬板頭(無錫話,意思是運氣好),竟然成功了.

    如下:
    string sql="insert into [table] (date_time)" values('" + date_time.ToString("s") + "'";

    這樣,問題就解決了,希望大家能夠看到此貼,并發揚光大,到處流傳,這樣才能發展Sqlite的普及率.

    附注:
    我起先研究了BBSMAX的Sqlite數據庫.我認為這個論壇會有好的解決方法.
    但我錯了.其實沒有.bbsMax用了varchar代替DateTime格式.
    我也照做了,但是當我用到 select * from [table] where date_time > '2006-1-1' and date_time< '2008-1-1'
    類似這樣的語句,想查詢一個中間的時間類型時,語法錯誤.

    所以,到頭來,我還是從頭開始研究DateTime格式.字符串格式雖然能夠湊合,但是卻沒有那么方便和強大.



    Android開發完全講義(第2版)(本書版權已輸出到臺灣)

    http://product.dangdang.com/product.aspx?product_id=22741502



    Android高薪之路:Android程序員面試寶典 http://book.360buy.com/10970314.html


    新浪微博:http://t.sina.com.cn/androidguy   昵稱:李寧_Lining

    posted on 2009-08-18 17:58 銀河使者 閱讀(3091) 評論(0)  編輯  收藏 所屬分類: databases

    主站蜘蛛池模板: 高清永久免费观看| 最近中文字幕无免费| 国产精品1024在线永久免费| 好看的亚洲黄色经典| 人妻仑乱A级毛片免费看| 亚洲国产精彩中文乱码AV| 美女被cao免费看在线看网站| 免费看一级一级人妻片| 午夜亚洲福利在线老司机| 成人亚洲国产精品久久| 免费一级毛片不卡不收费| 国产亚洲男人的天堂在线观看| 中文字幕亚洲电影| av无码久久久久不卡免费网站| 色偷偷亚洲女人天堂观看欧| 在线观看人成视频免费| 久草免费福利在线| 亚洲欧美黑人猛交群| 亚洲国产精品国自产拍AV| 暖暖在线日本免费中文| 精品国产亚洲第一区二区三区 | 午夜毛片不卡免费观看视频| 二个人看的www免费视频| 亚洲中文字幕乱码AV波多JI| 亚洲Av无码专区国产乱码DVD| 久久香蕉国产线看免费| 久久久久亚洲精品无码网址色欲 | 日本免费久久久久久久网站| 亚洲午夜成人精品无码色欲| 亚洲国产精品一区二区第一页| 日韩免费a级在线观看| 亚洲黄色免费观看| 午夜亚洲WWW湿好爽| 亚洲精品第五页中文字幕| 免费看的黄色大片| 亚洲电影免费观看| 久久狠狠躁免费观看| 国产男女爽爽爽免费视频| 国产成人人综合亚洲欧美丁香花| 亚洲乱码一二三四区乱码| 噜噜噜亚洲色成人网站∨|