回复:打开SQL数据库-用户输入(日期)-将数据类型varchar转换为datetime时出错。我将您的窗口更改为模式窗口。 否则,将显示窗口,并尝试一次全部运行SQL。 我不确定SQL Server中日期的格式,因此您可能需要对此做一些研究。 将输出的SQL语句复制到日志,然后尝试在SQL Server窗口中手动运行它。
nw = New Window( "test", <<MODAL>
<DATA name="Alarm">
<COLUMNS>
<COLUMN name="Timestamp"></COLUMN>
</COLUMNS>
<WHERE>
<COLUMN name="Resource" operator="Like" value="%a12%"></COLUMN>
</WHERE>
<PROJECTS>
<PROJECT name="abc"></PROJECT>
</PROJECTS>
</DATA>
</MODAL>'
,@StartDateTime = '^start_date^'
,@EndDateTime = '^end_date^']\");
show(sql_statement);
// Uncomment the next line to run the command in SQL Server
//dta= Open database("DRIVER=SQL Server; SERVER=XXX; Trusted_connection = Yes", sql_statement);
其他更改-如果要使用^ xxx ^构造,则需要将其包含在evalinsert()中。 我使用了引号转义符\ [和] \,因此您的SQL语句更加简洁。
回复:打开SQL数据库-用户输入(日期)-将数据类型varchar转换为datetime时出错。对于日期时间,我使用followig语句:
t_now = "'" || Substitute(Format(today(),"yyyy-mm-ddThh:mm:ss"),"T"," ") || "'";
打开SQL数据库-用户输入(日期)-将数据类型varchar转换为datetime时出错。你好
我正在尝试使用用户输入的日期连接到脚本中的SQL数据库。
当我运行脚本时,出现以下错误-
“ [Microsoft] [ODBC SQL Server驱动程序] [SQL Server]将数据类型varchar转换为日期时间时出错。
拜托,我该如何解决这个问题?
谢谢
nw =新窗口(“测试”,H列表框(文本框(“开始日期”),a =数字编辑框(0),<<设置格式(format(“ m / d / y”)),<<设置width(12),a << set(today()),间隔框(size(10,20)),文本框(“ End Date”),b = numbereditbox(0),b << set format(format (“ m / d / y”)),b <<设置width(12),b << set(today())),间隔框(size(1,20)),按钮框(“ OK”,farray = Eval List({a <<获取文本,b <<获取文本}); nw <<关闭窗口;)); dta =打开数据库(“ DRIVER = SQL Server; SERVER = XXX; Trusted_connection =是”,“ EXEC dbo.listData @Criteria =' <位置> ',@ StartDateTime ='^ farray [1] ^',@ EndDateTime =' ^ farray [2] ^'“);