以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]SQLReplaceFor更新数据  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=169251)

--  作者:天一生水
--  发布时间:2021/6/8 22:00:00
--  [求助]SQLReplaceFor更新数据
老师好!
[立案年份]、[立案月份]更新数据,取[立案日期]值的 年和月份。报错,帮忙改一下。
谢谢!

...
Dim cnt3 As Integer = DataTables("数据表").SQLReplaceFor("立案年份",[立案日期].Year & "年", "立案日期 Is Not Null")

Dim cnt4 As Integer = DataTables("数据表").SQLReplaceFor("立案月份",Format([立案日期].Month ,"00") & "月", "立案日期 Is Not Null")
[此贴子已经被作者于2021/6/8 22:02:32编辑过]

--  作者:有点蓝
--  发布时间:2021/6/8 22:12:00
--  
先看看帮助:http://www.foxtable.com/webhelp/topics/2898.htm
http://www.foxtable.com/webhelp/topics/0692.htm

DataTables("数据表").SQLReplaceFor("立案年份","Year([立案日期]) + \'年\'", "立案日期 Is Not Null",true)

--  作者:天一生水
--  发布时间:2021/6/8 23:04:00
--  
谢谢老师!

第二句会报错,什么原因?

DataTables("数据表").SQLReplaceFor("立案年份","CStr(Year([立案日期])) + \'年\'", "立案日期 Is Not Null",True)
DataTables("数据表").SQLReplaceFor("立案月份","CStr(Format(Month([立案日期]),"00")) + \'月\'", "立案日期 Is Not Null",True)  
  
 
图片点击可在新窗口打开查看此主题相关图片如下:截屏图片 (3).jpg
图片点击可在新窗口打开查看

--  作者:有点蓝
--  发布时间:2021/6/8 23:17:00
--  
sql里没有format这种用法

"IIF(len(CStr(Month([立案日期])))=1,\'0\',\'\') + CStr(Month([立案日期]) + \'月\'"

--  作者:天一生水
--  发布时间:2021/6/9 13:31:00
--  
蓝老师好!
sql里是不是也没有CStr这种用法?怎样替代?

此主题相关图片如下:截屏图片.jpg
按此在新窗口浏览图片



--  作者:有点蓝
--  发布时间:2021/6/9 13:34:00
--  
使用Convert,参考:http://www.foxtable.com/webhelp/topics/0098.htm
--  作者:天一生水
--  发布时间:2021/6/9 16:30:00
--  
代码报错,看不出哪里的问题:
DataTables("数据表").SQLReplaceFor("立案年份","Convert(Year([立案日期]),\'System.String\') + \'年\'", "立案日期 Is Not Null",True)


图片点击可在新窗口打开查看此主题相关图片如下:截屏图片 (3).jpg
图片点击可在新窗口打开查看


--  作者:有点蓝
--  发布时间:2021/6/9 16:35:00
--  
SqlServer?

DataTables("数据表").SQLReplaceFor("立案年份","Convert(VARCHAR(4),Year([立案日期])) + \'年\'", "立案日期 Is Not Null",True)

--  作者:天一生水
--  发布时间:2021/6/10 21:46:00
--  
蓝老师,把月份的帮忙改改吧。谢谢!

DataTables("数据表").SQLReplaceFor("立案月份", "Case When len(Convert(varchar(2),Month([立案日期]))) =1 Then 0 Else \'\' End + Convert(varchar(2),Month([立案日期])) + \'月\'", "立案日期 Is Not Null",True)


--  作者:有点蓝
--  发布时间:2021/6/10 21:51:00
--  
ataTables("数据表").SQLReplaceFor("立案月份", "SubString(Convert(nvarchar(7),[立案日期],120),6,2) + \'月\'", "立案日期 Is Not Null",True)