以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  给oracle 中未加载的数据的日期列赋值  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=61765)

--  作者:tesia255
--  发布时间:2014/12/18 20:14:00
--  给oracle 中未加载的数据的日期列赋值
目的:  A表的 【交易日期】 字段发生改变时候,将B表的 【成交日期】列的值设置成A表的交易日期的值 (A表和B表 的【SHOPING】列为关联列

Select Case  e.DataCol.Name
Case  "交易日期" 
Dim cnt As Integer
 cnt = DataTables("B表").SQLReplaceFor("成交日期"," (这里希望是交易日期的值)  ", "SHOPING= \'"&  e.DataRow("SHOPING")  &"\'")
End Select

试了很多的写法  总是报错  图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2014/12/18 20:16:00
--  

呃...

 

cnt = DataTables("B表").SQLReplaceFor("成交日期", e.DataRow("交易日期") , "SHOPING= \'"&  e.DataRow("SHOPING")  &"\'")


--  作者:tesia255
--  发布时间:2014/12/18 20:20:00
--  回复:(有点甜)呃... cnt = DataTables("B...
图片点击可在新窗口打开查看    报错了:  ORA-01861: literal does not match format string
--  作者:有点甜
--  发布时间:2014/12/18 20:24:00
--  

 你用Sqlcommand,直接写update语句看看

 

http://www.foxtable.com/help/topics/0690.htm

 


--  作者:有点甜
--  发布时间:2014/12/18 20:27:00
--  

 或者这样写

 

cnt = DataTables("B表").SQLReplaceFor("成交日期", "to_date(\'" & Format(e.DataRow("交易日期"), "yyyy-MM-dd") & "\', \'yyyy-mm-dd\')", "SHOPING= \'"&  e.DataRow("SHOPING")  &"\'")


--  作者:tesia255
--  发布时间:2014/12/18 20:37:00
--  回复:(有点甜) 你用Sqlcommand,直接写update...
这样写成功了 :

UPDATE  B表   SET  成交日期  = to_date(\'2014-01-01\', \'yyyy-mm-dd\')  WHERE  SHOPING=\'2014111900000001\'

--  作者:tesia255
--  发布时间:2014/12/18 20:40:00
--  回复:(有点甜) 或者这样写 cnt = Da...
这个写法也报错了  :

在执行命令过程中,发生了一个或多个错误。
ORA-00933: SQL command not properly ended


图片点击可在新窗口打开查看

--  作者:有点甜
--  发布时间:2014/12/18 20:42:00
--  
 可能对Oracle的支持不太好。
--  作者:tesia255
--  发布时间:2014/12/18 20:44:00
--  回复:(有点甜) 可能对Oracle的支持不太好。
好吧   谢谢了  总晚上打扰您~