我有一个系统,我在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更新工作表,另一个执行时执行关键数据类型不匹配错误。
我迷失了,不知道该怎么办。请帮助。
感谢。