簡體   English   中英

在SQL where語句中使用C#datetime

[英]Using C# datetime in SQL where statement

下面是我的代碼(C#),但是什么也沒有顯示。

問題似乎與@lastlogged參數有關,就好像我將其值硬編碼返回一樣,lastlogged值已經使用Convert.ToDateTime(“ 2012-07-17 15:18:14.993”)進行了轉換。

更新錯誤:必須聲明標量變量“ @lastlogged”。

string sqlStr = "SELECT * FROM View_AllJobDetails WHERE UpdatedDateStaff >= @lastlogged";
        SqlCommand cmd = new SqlCommand(sqlStr, cnn);
        cmd.Parameters.Add("@lastlogged", SqlDbType.DateTime);
        cmd.Parameters["@lastlogged"].Value = lastlogged;

為什么不將lastlogged值本身嵌入sqlStr-

string sqlStr = "SELECT * FROM View_AllJobDetails WHERE UpdatedDateStaff >= " + string.Format("{0:dd-MMM-yyyy}",lastlogged); 

另一種方法是在數據庫中創建存儲過程並添加此參數。

我注意到有時參數確實存在日期問題。 但是,它可以將字符串隱式轉換為日期。 因此,請嘗試:

AddWithValue("@lastlogged", lastlogged.ToString)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM