# Invoke code add columns to datatable

**URL:** <https://forum.uipath.com/t/invoke-code-add-columns-to-datatable/599124>\
**Category:** Studio\
**Tags:** extension, question, studio, system, activities\
**Created:** [September 21, 2023, 9:19am UTC](https://forum.uipath.com/t/invoke-code-add-columns-to-datatable/599124 "2023-09-21T09:19:08Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Povilas\_Jonikas](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/povilas_jonikas/32/268220_2.png) [@Povilas\_Jonikas](https://forum.uipath.com/u/Povilas_Jonikas)\
**Post date:** [September 21, 2023, 9:19am UTC](https://forum.uipath.com/t/invoke-code-add-columns-to-datatable/599124/1 "2023-09-21T09:19:08Z")

</div>

Hello guys, i have a problem. I have a data table that i got from run querry activity, I need to add columns to the data table. Im trying to use invoke code, because I need to set specific data types for theese columns. The invoke code looks like this:

```auto
dt_datatable.Columns.Add("STATUS", GetType(String))
dt_datatable.Columns.Add("Status_Date", GetType(DateTime))
dt_datatable.Columns.Add("USER", GetType(String))
dt_datatable.Columns.Add("TiekejoID", GetType(Int32))

```

But I get an error:

```auto
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object. at UiPathCodeRunner_dfcd0dc2c1b74a2ca599b5b1af30e9cf.Run(DataTable dt_datatable)
	--- End of inner exception stack trace ---
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Span`1& arguments, Signature sig, Boolean constructor, Boolean wrapExceptions)
   at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
   at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
   at System.Type.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args)
   at UiPath.Activities.System.Utilities.InvokeCode.CompilerRunner.Run(Object[] args)
   at UiPath.Activities.System.Utilities.InvokeCode.NetCodeInvoker.Run(String userCode, List`1 inArgs, IEnumerable`1 imps, Object[] args)
   at UiPath.Core.Activities.InvokeCode.Execute(CodeActivityContext context)
   at System.Activities.CodeActivity.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager)
   at System.Activities.ActivityInstance.Execute(ActivityExecutor executor, BookmarkManager bookmarkManager)
   at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation)

```

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [September 21, 2023, 9:24am UTC](https://forum.uipath.com/t/invoke-code-add-columns-to-datatable/599124/2 "2023-09-21T09:24:00Z")

</div>

Hi,

Did you set instance of DataTable to dt\_datatable?  
Perhaps it’s necessary the follwoing expression inside or before the invoke code activity.

```
dt_datatable = new DataTable()

```

Regards,

---

<div class="post-metadata">

**Author:** ![Povilas\_Jonikas](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/povilas_jonikas/32/268220_2.png) [@Povilas\_Jonikas](https://forum.uipath.com/u/Povilas_Jonikas)\
**Post date:** [September 21, 2023, 9:29am UTC](https://forum.uipath.com/t/invoke-code-add-columns-to-datatable/599124/3 "2023-09-21T09:29:53Z")

</div>

I did it and it kinda works…

When i try to print out dt\_datatable, I cant see the added columns.

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [September 21, 2023, 9:32am UTC](https://forum.uipath.com/t/invoke-code-add-columns-to-datatable/599124/4 "2023-09-21T09:32:58Z")

</div>

Hi,

Did you set “IN/OUT” at Direction of Argument in InvokeCode, as the following?

 ![image](https://global.discourse-cdn.com/uipath/original/4X/1/a/4/1a453c5809b5a66a92cbc56df6e6db847ec31635.png)

Regards,

---

<div class="post-metadata">

**Author:** ![Povilas\_Jonikas](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/povilas_jonikas/32/268220_2.png) [@Povilas\_Jonikas](https://forum.uipath.com/u/Povilas_Jonikas)\
**Post date:** [September 21, 2023, 9:34am UTC](https://forum.uipath.com/t/invoke-code-add-columns-to-datatable/599124/5 "2023-09-21T09:34:39Z")

</div>

Yeah, I have it like this:

 ![image](https://global.discourse-cdn.com/uipath/original/4X/c/d/4/cd4fc844414ce9fc5d1a5059562f9c79ca7efc89.png)

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [September 21, 2023, 9:36am UTC](https://forum.uipath.com/t/invoke-code-add-columns-to-datatable/599124/6 "2023-09-21T09:36:03Z")

</div>

HI

It’s necessary to set datatable variable at Value property.

Regards,

---

<div class="post-metadata">

**Author:** ![Povilas\_Jonikas](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/povilas_jonikas/32/268220_2.png) [@Povilas\_Jonikas](https://forum.uipath.com/u/Povilas_Jonikas)\
**Post date:** [September 21, 2023, 9:36am UTC](https://forum.uipath.com/t/invoke-code-add-columns-to-datatable/599124/7 "2023-09-21T09:36:04Z")

</div>

Oh sorry, I saw that there should be an assign activity. But if i assign dt\_datatable (Which has records that I need in them) with value New DataTable(), wont the records get deleted?

---

<div class="post-metadata">

**Author:** ![Yoichi](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/yoichi/32/523754_2.png) [@Yoichi](https://forum.uipath.com/u/Yoichi)\
**Post date:** [September 21, 2023, 9:38am UTC](https://forum.uipath.com/t/invoke-code-add-columns-to-datatable/599124/8 "2023-09-21T09:38:22Z")

</div>

> [@Povilas\_Jonikas](#):
>
> But if i assign dt\_datatable (Which has records that I need in them) with value New DataTable(), wont the records get deleted?

Yes. it will deleted. From the above image, it’s necessary to set the datatable variable at Value property of arguments in InvokeCode activity to pass value b/w invoke code and the workflow.

Regards,

---

<div class="post-metadata">

**Author:** ![Povilas\_Jonikas](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/povilas_jonikas/32/268220_2.png) [@Povilas\_Jonikas](https://forum.uipath.com/u/Povilas_Jonikas)\
**Post date:** [September 21, 2023, 9:41am UTC](https://forum.uipath.com/t/invoke-code-add-columns-to-datatable/599124/9 "2023-09-21T09:41:05Z")

</div>

Ok, thanks to your help, it worked. I deleted this from invoke code `dt_datatable = new DataTable()`

And set value in arguments of the datatable. Thanks 🙂

---

<div class="post-metadata">

**Author:** ![system](https://sea2.discourse-cdn.com/uipath/user_avatar/forum.uipath.com/system/32/182466_2.png) [@system](https://forum.uipath.com/u/system)\
**Post date:** [September 24, 2023, 9:41am UTC](https://forum.uipath.com/t/invoke-code-add-columns-to-datatable/599124/10 "2023-09-24T09:41:19Z")

</div>

Closed on September 24, 2023, 9:41am UTC

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.
