0

下面是我的代码(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;
4

2 回答 2

0

为什么不将 lastlogged 值本身嵌入到 sqlStr -

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

另一种方法是在数据库中创建存储过程并添加此参数。

于 2012-07-25T08:32:13.913 回答
-1

我注意到有时参数确实有日期问题。但是,它可以隐式地将字符串转换为日期。因此,尝试:

AddWithValue("@lastlogged", lastlogged.ToString)
于 2012-07-17T15:12:35.730 回答