2013-05-08 74 views
1
public DataTable Get_VISITER_MST_BY_ID(string id) 
{ 
    DataSet ds = new DataSet(); 
    using (SQLiteConnection con = DBCONNECTION.Connection()) 
    { 
     con.Open(); 
     using (SQLiteDataAdapter da = new SQLiteDataAdapter("SELECT VISITER_ID, VISITER_IMAGE, VISITER_INTIME, VISITER_SCANTIME, VISITER_STATUS, VISITER_CANCELTIME, CONVERT(NVARCHAR(100),VISITER_SCANTIME, 100) AS TIME FROM   VISITER_MST WHERE  (VISITER_ID = '" + id + "'" + ")", con)) 
     { 
      da.Fill(ds); 
     } 
    } 
    return ds.Tables[0]; 
} 

回答

0

您正在使用SQLite。沒有數據類型NVARCHAR,您當前的語法對SQL Server有效。在SQLite中,只有text數據類型(用於字符串),它是Unicode。查看更多about SQLite Data Types.

您當前的查詢有NVARCHAR(100)它被解釋爲方法,因此是例外。

DATETIME SQLite中的數據類型存儲爲Numeric。你可以看看Date and Time functions in SQLite從你的領域獲得時間部分。

還可以考慮爲查詢使用參數而不是字符串連接。見this question

+0

VISITER_SCANTIME數據類型是我採取的DATETIME類型.... – 2013-05-08 06:57:36

0

SqlLite沒有爲nvarchar只允許在sqlite的文本

+0

所以我們在源碼採取日期時間? – 2013-05-08 07:06:17

+0

SQLite沒有專門用於存儲日期和/或時間的存儲類。相反,SQLite的內置日期和時間函數能夠將日期和時間存儲爲TEXT,REAL或INTEGER值: TEXT作爲ISO8601字符串(「YYYY-MM-DD HH:MM:SS.SSS」) 。 真實的Julian日數,自中午4714年11月24日格林威治中午以來的天數。根據預測的公曆。 INTEGER as Unix Time,自1970-01-01 00:00:00 UTC以來的秒數[參考鏈接](http://www.sqlite.org/datatype3.html) – 2013-05-08 07:09:43

+0

所以我只改變日期時間在這個查詢中的nvarchar的??然後這個問題將解決或不? – 2013-05-08 07:14:45

相關問題