# Problem inserting / update intoa db table

**URL:** <https://forum.inductiveautomation.com/t/problem-inserting-update-intoa-db-table/19519>\
**Category:** Ignition\
**Tags:** ignition79, database, scripting\
**Created:** [September 4, 2018, 1:19pm UTC](https://forum.inductiveautomation.com/t/problem-inserting-update-intoa-db-table/19519 "2018-09-04T13:19:35Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![claudio](https://avatars.discourse-cdn.com/v4/letter/c/7cd45c/32.png) [@claudio](https://forum.inductiveautomation.com/u/claudio)\
**Post date:** [September 4, 2018, 1:19pm UTC](https://forum.inductiveautomation.com/t/problem-inserting-update-intoa-db-table/19519/1 "2018-09-04T13:19:35Z")

</div>

Hello  
I need to insert a record into a sql db when a tag changes its value, so I putted the attached script in the “Value Changed Event” of the tag:

value1 = 1  
value2 = 2.0

system.db.runUpdateQuery(“INSERT INTO Gancio (NomeGancio, TForno1) VALUES (?,?)”, [value1, value2])

Anyway in the log section of the gateway I found this message:

```
([default]Insert_Update_DB/GancioPos64, valueChanged) Error executing tag event script: Traceback (most recent call last): File "", line 6, in valueChanged at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.error(AbstractDBUtilities.java:364) at com.inductiveautomation.ignition.common.script.builtin.AbstractDBUtilities.runUpdateQuery(AbstractDBUtilities.java:189) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) java.lang.Exception: java.lang.Exception: Error executing system.db.runUpdateQuery(INSERT INTO Gancio (NomeGancio, TForno1) VALUES (?,?), [1, 2.0], , false)

```

and the record is not inserted into the table  
(If I copy and paste the insert statement into Sql Management the query works fine; actually the table is not empty, so it connot be a problem on primary key)

Any idea why it doesn’t work?  
Thank you  
c.

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [September 4, 2018, 1:49pm UTC](https://forum.inductiveautomation.com/t/problem-inserting-update-intoa-db-table/19519/2 "2018-09-04T13:49:41Z")

</div>

_system.db.runUpdateQuery()_ doesn’t work that way. Try using _system.db.runPrepUpdate()_.

---

<div class="post-metadata">

**Author:** ![claudio](https://avatars.discourse-cdn.com/v4/letter/c/7cd45c/32.png) [@claudio](https://forum.inductiveautomation.com/u/claudio)\
**Post date:** [September 4, 2018, 1:51pm UTC](https://forum.inductiveautomation.com/t/problem-inserting-update-intoa-db-table/19519/3 "2018-09-04T13:51:40Z")

</div>

> [@claudio](#):
>
> value1 = 1value2 = 2.0
> 
> system.db.runUpdateQuery("INSERT INTO Gancio (NomeGancio, TForno1) VALUES (?,?)", [value1, value2])

Sorry,  
I'm using runUpdateQuery  
but it doesn't work

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [September 4, 2018, 2:08pm UTC](https://forum.inductiveautomation.com/t/problem-inserting-update-intoa-db-table/19519/4 "2018-09-04T14:08:38Z")

</div>

It won’t work, because runUdateQuey does not work in the format you are using. You will also need to specify the database connection, since tag scripts run in the gateway scope and doesn’t know which connection to use.

You can:

- Change it to runPrepUpdate, which does use the format you are using.

```auto
system.db.runPrepUpdate("INSERT INTO Gancio (NomeGancio, TForno1) VALUES (?,?)", [value1, value2], databaseConnection)

```

- If your heart is set on using runUpdateQuery, you must change the format:

```auto
system.db.runUpdateQuery("INSERT INTO Gancio (NomeGancio, TForno1) VALUES (%d,%f)" % (value1, value2), databaseConnection)

```

---

<div class="post-metadata">

**Author:** ![c.bertulli](https://avatars.discourse-cdn.com/v4/letter/c/f19dbf/32.png) [@c.bertulli](https://forum.inductiveautomation.com/u/c.bertulli)\
**Post date:** [September 4, 2018, 2:10pm UTC](https://forum.inductiveautomation.com/t/problem-inserting-update-intoa-db-table/19519/5 "2018-09-04T14:10:02Z")

</div>

`system.db.runUpdateQuery()` doesn’t let you use the ? ( which you are using )  
`system.db.runPrepUpdate()` let you use the ?  
So, as @JordanCClark says, you should use `system.db.runPrepUpdate()` instead of `system.db.runUpdateQuery()` and it should be fine.  
If you want to use `system.db.runUpdateQuery()` at all costs, you have to change your code to:

value1 = 1  
value2 = 2.0  
system.db.runUpdateQuery(“INSERT INTO Gancio (NomeGancio, TForno1) VALUES (%d, %f)” % (value1, value2)))

---

<div class="post-metadata">

**Author:** ![c.bertulli](https://avatars.discourse-cdn.com/v4/letter/c/f19dbf/32.png) [@c.bertulli](https://forum.inductiveautomation.com/u/c.bertulli)\
**Post date:** [September 4, 2018, 2:15pm UTC](https://forum.inductiveautomation.com/t/problem-inserting-update-intoa-db-table/19519/6 "2018-09-04T14:15:10Z")

</div>

Sorry, I didn’t see your reply 😅

---

<div class="post-metadata">

**Author:** ![claudio](https://avatars.discourse-cdn.com/v4/letter/c/7cd45c/32.png) [@claudio](https://forum.inductiveautomation.com/u/claudio)\
**Post date:** [September 4, 2018, 2:27pm UTC](https://forum.inductiveautomation.com/t/problem-inserting-update-intoa-db-table/19519/7 "2018-09-04T14:27:47Z")

</div>

@JordanCClark Great !!!  
SOLVED !!!  
Thank you so much … the problem was missing database connection parameter !!!
