在C#中从数据库更新Excel工作表

时间:2014-10-20 18:07:48

标签: c# mysql excel oledb

我有一个系统,我在SQL Server表中捕获学生会话信息。在SessionDetail表中,我有SID,StartTime,EndTme,SessiondDate,TherapistID(TID)。

现在我们从提供商处获取带有结算信息的Excel文件,我们必须根据SID和TID匹配为孩子添加StartTime,EndTime。我们自动执行此过程并通过我们的系统添加启动时间和结束时间,并更新excel表而不是手动执行。

现在我已经有了这个代码。

string selectString = "Update [Sheet1$] set StartTime = '10:30',EndTime='11:00' where SID='12'";

                    con = new OleDbConnection(connectionString);
                    cmd = new OleDbCommand(selectString, con);
                    con.Open();
                    cmd.ExecuteNonQuery();

当我将SID或/和TID放在where条件并更新工作表时,这可以正常工作。 但是当我在其条件下添加sessiondate时,它会更新任何内容。我尝试通过添加SessionDate在哪里条件它dosent更新任何东西。 SID和TID在Excel工作表中格式化为数字,日期在Excel工作表中格式化为[$ -1010409 mm / dd / yyyy]。

我认为日期和日期字段上的日期和字符串比较并且数据类型不匹配。所以我尝试了这个查询

 string selectString = "Update [Sheet1$] set SCIN_ACT_GRP_SIZE = 'P' where sessiondate=09/09/2014";

 string selectString = "Update [Sheet1$] set SCIN_ACT_GRP_SIZE = 'P' where SessionDate='09/09/2014'";

一个带有''并且没有''在where子句中的日期。第一个执行但dost更新工作表,另一个执行时执行关键数据类型不匹配错误。

我迷失了,不知道该怎么办。请帮助。

感谢。

0 个答案:

没有答案
相关问题