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

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

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

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

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

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

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

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

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

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

    我就研究了SqliteConnection的源代碼,發(fā)現(xiàn)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有什么關(guān)鍵作用,反正Access,MySql,MsSql都沒這問題的)

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

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

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

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

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

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



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

    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

    主站蜘蛛池模板: 久久青草91免费观看| 久久精品国产亚洲AV无码麻豆| 日本视频一区在线观看免费| 久久毛片免费看一区二区三区| 国产成人亚洲综合网站不卡| 久久精品国产亚洲精品2020| 国产亚洲色视频在线| 亚洲国产专区一区| 四虎影永久在线高清免费| 啦啦啦高清视频在线观看免费| 三年片在线观看免费大全电影 | 日韩午夜理论免费TV影院| 特黄特色的大片观看免费视频| 亚洲AV日韩AV无码污污网站| 精品亚洲成A人无码成A在线观看| 亚洲天天做日日做天天看| 亚洲成Av人片乱码色午夜| 狠狠亚洲婷婷综合色香五月排名 | 美美女高清毛片视频黄的一免费 | 91av视频免费在线观看| 大地影院MV在线观看视频免费| 又大又硬又粗又黄的视频免费看| 粉色视频成年免费人15次 | 亚洲国产精品碰碰| 免费国产不卡午夜福在线| 永久免费AV无码网站在线观看| 一个人看www在线高清免费看| 久久精品国产免费观看三人同眠| 91高清免费国产自产拍2021| 久久国产免费观看精品3| 免费国产污网站在线观看15| 无码午夜成人1000部免费视频| 久草免费手机视频| 亚洲视频免费在线播放| 国产高清免费视频| 我要看WWW免费看插插视频| 免费黄色网址入口| 免费jjzz在线播放国产| 亚洲熟伦熟女新五十路熟妇| 亚洲香蕉网久久综合影视| 国产精品亚洲аv无码播放|