C# 无法将参数值从日期时间转换为字节[]

C# 无法将参数值从日期时间转换为字节[],c#,gridview,datatable,dataadapter,sqlparameter,C#,Gridview,Datatable,Dataadapter,Sqlparameter,将参数从DateTime转换为字节[]时出错。 其思想是显示通过控件输入并显示在GridView上的两个指定日期之间的数据,并使用存储过程访问数据。我不理解这个错误,但我猜所有数据都放在一个数组中,并传递给存储过程: string sDateBegin = Request.Form["fromDate"]; DateTime dtDateBegin = Convert.ToDateTime(sDateBegin); SqlParameter prmDateBegin = new SqlParam

将参数从DateTime转换为字节[]时出错。 其思想是显示通过控件输入并显示在GridView上的两个指定日期之间的数据,并使用存储过程访问数据。我不理解这个错误,但我猜所有数据都放在一个数组中,并传递给存储过程:

string sDateBegin = Request.Form["fromDate"];
DateTime dtDateBegin = Convert.ToDateTime(sDateBegin);
SqlParameter prmDateBegin = new SqlParameter("datebegin", SqlDbType.Timestamp);
prmDateBegin.Value = dtDateBegin;
cmdProc.Parameters.Add(prmDateBegin);

//same code for DateEnd

// data table
DataTable dataTable = new DataTable();

AGridView.DataSourceID = null;

// data adapter
SqlDataAdapter dataAdapter = new SqlDataAdapter(cmdProc);
AGridView.DataSource = dataTable;

//fill datatable
dataAdapter.Fill(dataTable);

您已经将SqlParameter定义为时间戳数据类型(即字节数组),而不是日期时间。如果您要表示一个日期范围,听起来应该将参数数据类型更改为DateTime

您已经将SqlParameter定义为时间戳数据类型(即字节数组),而不是日期时间。如果您要表示一个日期范围,听起来应该将参数数据类型更改为DateTime

发生错误的原因是试图执行从任何对象到日期时间的隐式转换。 来自控件的对象是字符串,但不是可以转换为DateTime对象的字符串。 它实际上是一个由字符串表示的日期和时间

构造
DateTime
对象的正确方法是使用

DateTime.Parse(string input)

发生错误的原因是尝试从任何对象到日期时间进行隐式转换。 来自控件的对象是字符串,但不是可以转换为DateTime对象的字符串。 它实际上是一个由字符串表示的日期和时间

构造
DateTime
对象的正确方法是使用

DateTime.Parse(string input)

你好,马尔维纳,欢迎来到StackOverflow。我们在准确了解这里发生的事情时遇到了一些问题,因为我们缺少一些信息(例如您正在使用的编程语言,以及您正在使用的数据库引擎和/或框架)。请帮我们填空,谢谢回复。我正在使用.Net framework、C#和MS SQL Server 2005。错误是否发生在
DateTime dtDateBegin=Convert.ToDateTime(sDateBegin)?如果是这样,这可以通过使用
DateTime.Parse(字符串输入)
来解决(请参阅)。我还不能确定的原因是,很难判断您提到的存储过程和gridview控件正在做什么;)Thanx Timothy,这确实有效!万分感谢:)不客气。我添加了一个答案,应该可以澄清发生了什么:)你好,马尔维纳,欢迎来到StackOverflow。我们在准确了解这里发生的事情时遇到了一些问题,因为我们缺少一些信息(例如您正在使用的编程语言,以及您正在使用的数据库引擎和/或框架)。请帮我们填空,谢谢回复。我正在使用.Net framework、C#和MS SQL Server 2005。错误是否发生在
DateTime dtDateBegin=Convert.ToDateTime(sDateBegin)?如果是这样,这可以通过使用
DateTime.Parse(字符串输入)
来解决(请参阅)。我还不能确定的原因是,很难判断您提到的存储过程和gridview控件正在做什么;)Thanx Timothy,这确实有效!万分感谢:)不客气。我补充了一个答案,应该可以澄清发生了什么:)+1。还有一个没有阅读文档,时间戳是什么意思。我喜欢。这个问题非常适合老年人的智力测试——只是一个附带的问题,得到(错误的答案),把简历放在它应该放的地方——垃圾桶。时间戳数据类型与时间戳无关;)谢谢,不幸的是,我已经试过了,没有任何区别,错误是一样的。+1。还有一个没有阅读文档,时间戳是什么意思。我喜欢。这个问题非常适合老年人的智力测试——只是一个附带的问题,得到(错误的答案),把简历放在它应该放的地方——垃圾桶。时间戳数据类型与时间戳无关;)谢谢,不幸的是,我已经试过了,没有任何区别,错误是一样的。