本課程將通過SQLite.Net-PCLSQLite.Net-PCL如何插入日期時間爲SQLite的
class Purchase
{
[SQLite.Net.Attributes.PrimaryKey, SQLite.Net.Attributes.AutoIncrement]
public int QId { get; set; }
public DateTime PurchaseDate { get; set; }
public int Qty { get; set; }
}
我需要插入這個日期到這個tblPurchase在SQLite的數據庫中創建一個表。
strDate ="2016/08/10"
strTime ="10:17:26"
string[] strAr_Date = strDate.Split('/');
string strYear = strAr_Date[0].ToString();
string strMth = strAr_Date[1].ToString();
string strDay = strAr_Date[2].ToString();
// - 上DateTime.Now
string strDateTime = strDay + "/" + strMth + "/" + strYear + " " + strTime;
DateTime dt = DateTime.Parse(strDateTime);
重新創建日期基地這DT將被插入下面SQLite.Net-PCL:
public static void InsertQueueData(string strContentA, string strContentB)
{
var db = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), DBPath);
var newItem = new Purchase()
{
PurchaseDate = dt,
Qty = 20
};
db.Insert(newItem);
}
問題:
1)是否將dt(PurchaseDate = dt)轉換爲SQLite格式yyyy-mm-dd hh:mm:ss通過SQlite.Net-PCL插入時? 2)可以使用:
var db = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(),DBPath);
Edit_2:
to use method(1) to insert a DateTime as below:
DateTime dt = DateTime.Parse(strDateTime);
The method must include :
var db = new SQLiteConnection(new SQLitePlatformWinRT(), DBPath,false);
(1)
public static void InsertQueueData(string strContentA, string strContentB)
{
var db = new SQLiteConnection(new SQLitePlatformWinRT(), DBPath,false);
var newItem = new Purchase()
{
PurchaseDate = dt,
Qty = 20
};
db.Insert(newItem);
}
2) The purchase Class must declare in this way :
class Purchase
{
[SQLite.Net.Attributes.PrimaryKey, SQLite.Net.Attributes.AutoIncrement]
public int QId { get; set; }
public string PurchaseDate { get; set; } // Dont use DateTime PurchaseDate
public int Qty { get; set; }
}
Edit_3 <br/>
public static string DBPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Purchase.sqlite");
public static string strDbName = "Purchase.sqlite";
private void CreateDBNow()
{
var DBPath = Path.Combine(Windows.Storage.ApplicationData.Current.LocalFolder.Path, "Purchase.sqlite");
using (SQLite.Net.SQLiteConnection conn = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), DBPath))
{
conn.CreateTable<Purchase>();
}
}
Please help. Thanks
InEdit_3
使用: 新SQLite.Net.SQLiteConnection(新SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(),DBPATH))
@Xia:只是爲了避免混淆,是我Edit_2解釋是否正確? – MilkBottle
是的,但您需要使用通過'new SQLiteConnection(new SQLitePlatformWinRT(),DBPath,false)'''獲得的新'db'重新創建'Purchase'表。 –
@Xia:在Edit_3中:是否可以使用新的SQLite.Net.SQLiteConnection(新的SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(),DBPath))沒有錯誤?只想確認一下。 – MilkBottle