![](/img/trans.png)
[英]How can I filter records in an SQLite database against a DateTime value that was not supplied?
[英]How can I query datetime in SQLite database
這是我的代碼:
string sql = string.Format("select * from StockInTb ");
DataTable dt = dataAccess.GetDataTable(sql);
UploadService.UploadClient client = new UploadService.UploadClient();
if (client.UpdateTest(dt))
{
MessageBox.Show("suceess");
}
else
{
MessageBox.Show("fail");
}
這是我的dataaccess
類:
private static string connString;
private static SQLiteConnection conn;
public SQLiteDataAccess()
{
connString = ConfigurationManager.ConnectionStrings["ConnectionString"].ToString();
}
private void OpenConn()
{
try
{
if (conn == null)
{
conn = new SQLiteConnection(connString);
}
if (conn.State != System.Data.ConnectionState.Open)
{
conn.Open();
}
}
catch (Exception ex)
{
LogUtil.Log("ex:" + ex.Message);
}
}
private void CloseConn()
{
try
{
if (conn.State != System.Data.ConnectionState.Closed)
{
conn.Close();
}
}
catch (Exception ex)
{
LogUtil.Log("ex:" + ex.Message);
}
}
public System.Data.DataTable GetDataTable(string sql)
{
DataTable dtResult = new DataTable();
try
{
OpenConn();
SQLiteDataAdapter adpter = new SQLiteDataAdapter(sql, conn);
DataSet ds = new DataSet();
adpter.Fill(ds);//here,I got the error.
if (ds.Tables.Count > 0)
{
dtResult = ds.Tables[0];
}
}
catch (Exception ex)
{
LogUtil.Log("ex:" + ex.Message);
}
finally
{
CloseConn();
}
return dtResult;
}
我得到了錯誤:
無法將字符串識別為有效的DateTime。
數據庫是SQLite,表StockInTb
包含一些類型為datetime
列。 我找到了一些解決方案,例如datetime.toString(s)
,但這不是我所需要的。
我不知道如何解決這個奇怪的問題。 如果有人知道答案,請告訴我。
謝謝。
您可以使用以下參數,假設您在StockInTb表中有一個名為MyDateTime
列,類型為DateTime,則您的查詢應按如下所述進行更改。 請注意, @InputDate
將使用Command.Parameters.Add
方法添加托架。 在兩個地方都需要使用相同的名稱,您可以直接從DateTime對象設置參數(此處將其命名為InputDate
Command.CommandText = "select * from StockInTb where MyDateTime = @InputDate";
Command.Parameters.Add("@InputDate", InputDate);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.