这是我的代码
con.Open();
SqlCommand cmd = new SqlCommand("SELECT [Date] FROM [dbo].[DS_PROJECT] ORDER BY Date ASC", con);
cmd.ExecuteNonQuery();
SqlCommand cm = new SqlCommand("SELECT [Time] FROM [dbo].[DS_PROJECT] ORDER BY Time ASC", con);
cm.ExecuteNonQuery();
con.Close();
DateTime currenttime = DateTime.Now;
DateTime userdate = Convert.ToDateTime(cmd);
DateTime usertime = Convert.ToDateTime(cm);
我想转换保存在数据库中的日期和时间值,但无法执行,并且发生此异常
无法将类型为'System.Data.SqlClient.SqlCommand'的对象转换为 键入“ System.IConvertible
请帮助我。 谢谢
答案 0 :(得分:1)
使用ExecuteNonQuery()用于不应该返回值或记录集的UPDATE,INSERT和DELETE查询。
您可以使用ExecuteReader()检索多个数据记录。
如果只想查询一个值,则应使用:
cmd.ExecuteScalar();
注意:请先检查null,因为如果结果集为空,它可以返回null引用。
答案 1 :(得分:0)
cm.ExecuteNonQuery()
根据
,方法是不正确的ExecuteNonQuery()返回受影响的行数。执行插入更新或删除查询时通常也使用该方法。 要从select语句获取结果,请使用MSDN的以下博客。
答案 2 :(得分:0)
通常,ExecuteNonQuery用于插入和更新语句。如果将从数据库中获取多个值,则可以使用DataSet或DataReader。 在这种情况下,如果您要使用查询进行单值检索,则可以使用ExecuteScalar方法。它将从数据库返回单个值。可能是下面的链接会有所帮助。.
http://csharp.net-informations.com/data-providers/csharp-sqlcommand-executescalar.htm