Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server SQL(如果脚本中存在)_Sql Server_Sql Server 2008_Jython 2.5 - Fatal编程技术网

Sql server SQL(如果脚本中存在)

Sql server SQL(如果脚本中存在),sql-server,sql-server-2008,jython-2.5,Sql Server,Sql Server 2008,Jython 2.5,如果这是在错误的地区,请指示我到正确的地区 我正在使用Injection BY InclusiveAutomation,并尝试编写一个脚本,该脚本将根据IF-EXIST条件进行更新或插入。 我有一个查询,它将在下面列出的数据库中插入一条新记录,但现在我希望能够更新setupsheet,如果它已经存在的话 Code: queryValue1 = event.source.parent.getComponent('MoldName').selectedStringValue queryValue2

如果这是在错误的地区,请指示我到正确的地区 我正在使用Injection BY InclusiveAutomation,并尝试编写一个脚本,该脚本将根据IF-EXIST条件进行更新或插入。 我有一个查询,它将在下面列出的数据库中插入一条新记录,但现在我希望能够更新setupsheet,如果它已经存在的话

Code:
queryValue1 = event.source.parent.getComponent('MoldName').selectedStringValue
queryValue2 = event.source.parent.getComponent('MachineName').selectedStringValue
queryValue3 = event.source.parent.getComponent('Text Area').text
if system.gui.confirm("Steve! Are you sure you want to Save changes?", 
   "Save Changes"):      
      system.db.runPrepUpdate("INSERT INTO setup_sheetlist (MoldName,machineName,Setupsheet) VALUES ('%s','%s','%s')" % (queryValue1, queryValue2 , queryValue3), getKey=1)   
这是我的查询,它在我的数据库中工作,但我不知道如何在RunPrepUpdate中实现它

    Code:
    IF EXISTS( SELECT * FROM setup_sheetlist WHERE moldname='100SCX-3' AND Machinename='MM11')
       UPDATE setup_sheetlist 
       SET  setupsheet ='updated value 3'
       WHERE moldname='100SCX-3' AND Machinename='MM11'

    ELSE
           INSERT INTO setup_sheetlist(MoldName,machineName,Setupsheet)
           VALUES('100SCX-3','MM11','TRIAL 2')
这是我到目前为止得到的,这给了我一个错误消息

    queryValue1 = event.source.parent.getComponent('MoldName').selectedStringValue
queryValue2 = event.source.parent.getComponent('MachineName').selectedStringValue
queryValue3 = event.source.parent.getComponent('Text Area').text
if system.gui.confirm("Steve! Are you sure you want to Save changes?", 
    "Save Changes"):        

            system.db.runPrepUpdate("IF EXISTS( SELECT * FROM setup_sheetlist WHERE moldname='?' AND Machinename='?')UPDATE setup_sheetlist SET  setupsheet ='?'    WHERE moldname='?' AND Machinename='?'" ,[queryValue1,queryValue2,queryValue3,queryValue1,queryValue2] )
            ELSE 
            INSERT 
            INTO 
            setup_sheetlist (MoldName,machineName,Setupsheet)
            VALUES ('%s','%s','%s')" % (queryValue1, queryValue2 , queryValue3))
错误


完整错误报告

我应该在查询结束时一次性传递变量,而不是将其分解为多个部分

  system.db.runPrepUpdate("IF EXISTS( SELECT * FROM setup_sheetlist WHERE moldname=? AND Machinename=?)UPDATE setup_sheetlist SET setupsheet =? WHERE moldname=? AND Machinename=? ELSE INSERT INTO setup_sheetlist (MoldName,machineName,Setupsheet) VALUES (?,?,?)" , (queryValue1,queryValue2,queryValue3,queryValue1,queryValue2,queryValue1, queryValue2 , queryValue3 ))

我怀疑您没有得到queryValue1和queryValue2的任何值。您能在runPrepUpdate之前运行print语句来验证这些变量中的内容吗?@TabAlleman,在我添加if-exist之前,查询值1和2与insert语句一起工作
  system.db.runPrepUpdate("IF EXISTS( SELECT * FROM setup_sheetlist WHERE moldname=? AND Machinename=?)UPDATE setup_sheetlist SET setupsheet =? WHERE moldname=? AND Machinename=? ELSE INSERT INTO setup_sheetlist (MoldName,machineName,Setupsheet) VALUES (?,?,?)" , (queryValue1,queryValue2,queryValue3,queryValue1,queryValue2,queryValue1, queryValue2 , queryValue3 ))