# \[SOLVED\] runNamedQuery and Dataset

**URL:** <https://forum.inductiveautomation.com/t/solved-runnamedquery-and-dataset/33389>\
**Category:** Ignition\
**Tags:** scripting\
**Created:** [March 25, 2020, 8:26am UTC](https://forum.inductiveautomation.com/t/solved-runnamedquery-and-dataset/33389 "2020-03-25T08:26:52Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![philippe.ropars](https://avatars.discourse-cdn.com/v4/letter/p/ecc23a/32.png) [@philippe.ropars](https://forum.inductiveautomation.com/u/philippe.ropars)\
**Post date:** [March 25, 2020, 8:26am UTC](https://forum.inductiveautomation.com/t/solved-runnamedquery-and-dataset/33389/1 "2020-03-25T08:26:52Z")

</div>

Hi,

I tried to run runNamedQuery in a script with this parameters :  
namedQuery = “select\_\*\*\*”  
projectname = “project”  
parameters = {“reference”:currentValue}

data = system.db.runNamedQuery(projectname, namedQuery, parameters)

But after, I want to read data received :

for row in data:  
ref\_temp = data.getValueAt(row,0)  
desc\_temp = data.getValueAt(row,1)  
update = [ref\_temp, desc\_temp]

I doesn’t work…  
Could you help me ?

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 25, 2020, 11:54am UTC](https://forum.inductiveautomation.com/t/solved-runnamedquery-and-dataset/33389/2 "2020-03-25T11:54:50Z")

</div>

Named Queries return a regular `Dataset`, not a `PyDataset`. You need the latter to use iteration. Convert it with [system.dataset.toPyDataSet()](https://docs.inductiveautomation.com/display/DOC80/system.dataset.toPyDataSet).

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 25, 2020, 11:57am UTC](https://forum.inductiveautomation.com/t/solved-runnamedquery-and-dataset/33389/3 "2020-03-25T11:57:11Z")

</div>

You are also mixing access methods. With the regular Dataset, you can do this:

```auto
for r in range(data.rowCount):
    value1 = data.getValueAt(r, 0)

```

With a PyDataset, you’d do this:

```auto
for row in pyds:
    value1 = row[0]

```

---

<div class="post-metadata">

**Author:** ![philippe.ropars](https://avatars.discourse-cdn.com/v4/letter/p/ecc23a/32.png) [@philippe.ropars](https://forum.inductiveautomation.com/u/philippe.ropars)\
**Post date:** [March 25, 2020, 12:28pm UTC](https://forum.inductiveautomation.com/t/solved-runnamedquery-and-dataset/33389/5 "2020-03-25T12:28:07Z")

</div>

I have change to : data = system.dataset.toPyDataSet(system.db.runNamedQuery(projectname, namedQuery, parameters))

And  
for row in data:  
ref\_temp = data[i][0]  
des\_temp = data[i][1]  
update = {“ref”: ref\_temp, “des”:des\_temp}  
system.tag.write("[.]Current\_BOM/BOM",system.dataset.updateRow(dataset,i,update))

I want to save data to an another tag in dataset format but i have onnly the last line saved

---

<div class="post-metadata">

**Author:** ![philippe.ropars](https://avatars.discourse-cdn.com/v4/letter/p/ecc23a/32.png) [@philippe.ropars](https://forum.inductiveautomation.com/u/philippe.ropars)\
**Post date:** [March 25, 2020, 12:38pm UTC](https://forum.inductiveautomation.com/t/solved-runnamedquery-and-dataset/33389/6 "2020-03-25T12:38:57Z")

</div>

It’s ok now 😄

data = system.dataset.toPyDataSet(system.db.runNamedQuery(projectname, namedQuery, parameters))  
system.tag.write("[.]Current\_BOM/BOM",data)

Simply …

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [March 25, 2020, 12:41pm UTC](https://forum.inductiveautomation.com/t/solved-runnamedquery-and-dataset/33389/7 "2020-03-25T12:41:31Z")

</div>

If you are writing to a dataset tag or dataset property, you don’t need to convert to PyDataset. The regular Dataset is expected.

---

<div class="post-metadata">

**Author:** ![philippe.ropars](https://avatars.discourse-cdn.com/v4/letter/p/ecc23a/32.png) [@philippe.ropars](https://forum.inductiveautomation.com/u/philippe.ropars)\
**Post date:** [March 25, 2020, 12:54pm UTC](https://forum.inductiveautomation.com/t/solved-runnamedquery-and-dataset/33389/8 "2020-03-25T12:54:21Z")

</div>

Thank you
