将DataTable作为参数传递时发生C#FormatException
我正在尝试读取Excel文件,并希望将记录发送到存储过程以插入到表中,将将DataTable作为参数传递时发生C#FormatException,c#,sql-server,datatable,formatexception,C#,Sql Server,Datatable,Formatexception,我正在尝试读取Excel文件,并希望将记录发送到存储过程以插入到表中,将DataTable作为参数。 这是我的StoredProcess create PROCEDURE [dbo].[spInsertInvoice] @tblInvoice InvoiceType READONLY AS BEGIN SET NOCOUNT ON; INSERT INTO Excel SELECT Template, C
DataTable
作为参数
。
这是我的StoredProcess
create PROCEDURE [dbo].[spInsertInvoice]
@tblInvoice InvoiceType READONLY
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO Excel
SELECT Template, Cust_Name, Invoice_No, InvoiceDate FROM @tblInvoice
END
这是c代码:
我做错了什么?调用
ParseExact
的格式部分是您试图从中解析的格式,因此如果excel中字符串的日期格式是5-Jun-15,您应该使用
DateTime InvoiceDate = DateTime.ParseExact(row.Cells[3].Text, "d-MMM-yy", CultureInfo.InvariantCulture);
行.Cells[3].Text的值是多少?您的当前区域性是多少?调试你的代码并告诉我们。先生,检查编辑的帖子。此外,InvoiceDate包含1/1/0001 12:00:00 AM,我正在上载的Excel工作表包含此日期5-Jun-15
。
DateTime InvoiceDate = DateTime.ParseExact(row.Cells[3].Text, "yyyyMMdd", CultureInfo.InvariantCulture);
DateTime InvoiceDate = DateTime.ParseExact(row.Cells[3].Text, "d-MMM-yy", CultureInfo.InvariantCulture);