我在用TClientDataSet.ApplyUpdates()更新数据时,总是更新失败!
失败原因我找到了,但不知道如何解决,请大家帮忙!
我跟踪一下它产生的SQL,发现原因出在它把日期字段格式成了
'12 17 2003 2:03PM'的形式加入
where条件中,而数据库(SQL Server 2000)中原始数据是
"2003-12-17 14:03:50.000",这样便找不到原始对应记录,以致修改数据失败!!
请大家帮忙,看看如何能够解决!有没有什么环境变量参数可以设置?谢谢!
失败原因我找到了,但不知道如何解决,请大家帮忙!
我跟踪一下它产生的SQL,发现原因出在它把日期字段格式成了
'12 17 2003 2:03PM'的形式加入
where条件中,而数据库(SQL Server 2000)中原始数据是
"2003-12-17 14:03:50.000",这样便找不到原始对应记录,以致修改数据失败!!
请大家帮忙,看看如何能够解决!有没有什么环境变量参数可以设置?谢谢!
解决方案 »
- 用keybd_event按出 EDIT1的内容
- 【急急急】怎么由逻辑盘符获得物理设备符???
- 如何在flash上显示透明的文本内容
- 本人有一套软件有关于退休人员管理软件,请问可以卖多少钱?
- BORLAN DATABASE ENGINEP初始化错误,请问各位大吓如何解决???
- 指针结构问题????
- 怎样屏蔽掉DBGridEh的第二列,使之不能让用户编辑,并且不能得到焦点
- ★如何通过delphi学习windows api,消息什么的?有没有专门用delphi描述的关于windows编程的书?请介绍几本纸书,谢谢!
- 还是dbgrid问题,大侠看过来
- 如何使服务器端数据和客户端数据实时保持一致?
- 复制数据库问题!
- 求一函数,能去掉字符串的空格,情况较复杂。up有分
比如:FormateDate('yyyy-mm-dd ',DateTime).這個是外部輸入時間進行查詢的做法。
如果你要求SQL中的時間字段,把日期用(year,month,day)拆分然後合並。具體的做法看sql
的幫助。你的問題也沒有提清楚。如果我 的解決方法不是你說的意思,那麼你把要求說清楚。
这个SQL是TClientDatSet.ApplyUpdates时自动产生的!
我在更新数据时仅调用了TClientDatSet.ApplyUpdates方法!
我是看SQL Server 的profiler.exe工具跟踪出来的SQL的
跟踪到的原SQL为:
exec sp_executesql N'update tb_GG3010 set
SJMC = @P1,
JYNR = @P2
where
BH is null and
SJMC = @P3 and
JYNR = @P4 and
JYSJ = @P5 and
JLSJ is null and
JYRBH = @P6 and
JYRXM = @P7 and
JSBH = @P8 and
JSMC = @P9 and
BZXX = @P10 and
JSXZ = @P11 and
SYXZ is null
', N'@P1 varchar(500),@P2 varchar(2000),@P3 varchar(500),@P4 varchar(2000),@P5 datetime,@P6 int,@P7 varchar(30),@P8 int,@P9 varchar(30),@P10 varchar(300),@P11 int', 'XXX', 'XXX', '', '', '12 17 2003 5:27PM', 3, 'XX', 1, 'XX', '', 10