# Problem for Table addColumn function

**URL:** <https://forum.inductiveautomation.com/t/problem-for-table-addcolumn-function/14008>\
**Category:** Ignition\
**Created:** [April 11, 2017, 4:24am UTC](https://forum.inductiveautomation.com/t/problem-for-table-addcolumn-function/14008 "2017-04-11T04:24:51Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![win](https://avatars.discourse-cdn.com/v4/letter/w/65b543/32.png) [@win](https://forum.inductiveautomation.com/u/win)\
**Post date:** [April 11, 2017, 4:24am UTC](https://forum.inductiveautomation.com/t/problem-for-table-addcolumn-function/14008/1 "2017-04-11T04:24:51Z")

</div>

I am testing at Table addColumn .  
it is ok that adding constant data but if the added data is from select query, the ignition V7.9.1 show fault.  
Please see code below.

ds1 =event.source.parent.getComponent(‘Chart 1’).Data  
colCount = ds1.getColumnCount()  
columnName = “zone2”

results = system.db.runPrepQuery(“SELECT zonetopctrtc FROM blocktable WHERE block\_id = ?”,[15974] ,“SQLServer”)

columnData = []  
#columnData = [10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]  
for i in range(ds1.getRowCount()):  
oneColumn =[“Column %d” % i,i+19]  
columnData.append(oneColumn)  
ds2 = system.dataset.addColumn(ds1, colCount, columnData, columnName, int)  
event.source.Data = ds2

---

<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:** [April 11, 2017, 11:32am UTC](https://forum.inductiveautomation.com/t/problem-for-table-addcolumn-function/14008/2 "2017-04-11T11:32:22Z")

</div>

You are trying to add two items in _oneColumn_. Not sure you can do that.

Also, make sure your datatypes match. in your example, you are using strings in your columnData, but using **int** in your addColumn function.

---

<div class="post-metadata">

**Author:** ![win](https://avatars.discourse-cdn.com/v4/letter/w/65b543/32.png) [@win](https://forum.inductiveautomation.com/u/win)\
**Post date:** [April 12, 2017, 12:59am UTC](https://forum.inductiveautomation.com/t/problem-for-table-addcolumn-function/14008/3 "2017-04-12T00:59:45Z")

</div>

sorry for confusing you, i just want to add one column to a table, and the column data is from select query ,the result of select query also is a column same rows

the code is below:  
ds1 =event.source.parent.getComponent(‘Chart 1’).Data  
colCount = ds1.getColumnCount()  
columnName = “zone2”

results = system.db.runPrepQuery(“SELECT zonetopctrtc FROM blocktable WHERE block\_id = ?”,[15974] ,“SQLServer”)

columnData = []  
for i in range(ds1.getRowCount()):  
oneColumn =[“Column %d” % i,i+19]  
columnData.append(oneColumn)  
ds2 = system.dataset.addColumn(ds1, colCount, columnData, columnName, int)  
event.source.Data = ds2

---

<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:** [April 12, 2017, 11:03am UTC](https://forum.inductiveautomation.com/t/problem-for-table-addcolumn-function/14008/4 "2017-04-12T11:03:11Z")

</div>

All right. What is happening is that a database query returns a PyDataSet. This isn’t the same thing as a DataSet. You will need to iterate through the PyDataSet to get your query results into a list that you can use in the addColumn function.

```
ds1 =event.source.parent.getComponent('Chart 1').Data
colCount = ds1.getColumnCount()
columnName = "zone2"

results = system.db.runPrepQuery("SELECT zonetopctrtc FROM blocktable WHERE block_id = ?",[15974] ,"SQLServer")

columnData = []
for row in results:
  columnData.append(row[0])

ds2 = system.dataset.addColumn(ds1, colCount, columnData, columnName, int)
event.source.Data = ds2
```
