【发布时间】:2016-12-28 19:35:27
【问题描述】:
这个类将被 SQLite.Net-PCL 创建为一个表
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; }
}
我需要将此日期插入到 SQLite DB 中的这个 tblPurchase 中。
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.Net-PCL 转换为 SQLite 格式 yyyy-mm-dd hh:mm:ss 吗?
2) 可以使用这个:
var db = new SQLite.Net.SQLiteConnection(new SQLite.Net.Platform.WinRT.SQLitePlatformWinRT(), DBPath);
编辑_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))
【问题讨论】:
标签: sqlite winrt-xaml uwp