Consider the following code that adds a table to a DataSet dynamically:
<script runat="server">
Sub Page_Load(ByVal obj As Object, ByVal ea As EventArgs)
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
End Sub
</script>
The above code works fine but if the column named "ID" is set as the
Primary Key before adding the DataTable to the DataSet i.e. if the 2
lines preceding the "End Sub" line are cut & pasted just above the line
"dSet.Tables.Add(dTable)", then the following error gets generated:
Object reference not set to an instance of an object.
pointing to the line
Dim dColumn() As DataColumn = {dSet.Tables("Users").Columns("ID")}
Which "object" is the above error message referring to? Is it the
DataSet or the DataTable or some other object? Also is the error
generating because I am defining the column "ID" as the Primary Key
before adding the DataTable to the DataSet? If yes, then why should
this cause the error? After all, I am defining the Primary Key after
creating the DataTable i.e. the schema of the DataTable is ready after
which only I am defining the Primary Key, isn't it? So why the error?
Thanks,
Arpan 10 3830
These are the culprits:
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
You don't have any actual DataColumns in existence yet, so how can you add
what you don't have to the Columns collection of dTable?
Should be:
dTable.Columns.Add(New DataColumn("ID",
Type.GetType("System.Int32")))
dTable.Columns.Add(New DataColumn("First Name",
Type.GetType("System.String")))
dTable.Columns.Add(New DataColumn("Last Name",
Type.GetType("System.String")))
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@p79g2000cwp.googlegr oups.com...
Consider the following code that adds a table to a DataSet dynamically:
<script runat="server">
Sub Page_Load(ByVal obj As Object, ByVal ea As EventArgs)
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
End Sub
</script>
The above code works fine but if the column named "ID" is set as the
Primary Key before adding the DataTable to the DataSet i.e. if the 2
lines preceding the "End Sub" line are cut & pasted just above the line
"dSet.Tables.Add(dTable)", then the following error gets generated:
Object reference not set to an instance of an object.
pointing to the line
Dim dColumn() As DataColumn = {dSet.Tables("Users").Columns("ID")}
Which "object" is the above error message referring to? Is it the
DataSet or the DataTable or some other object? Also is the error
generating because I am defining the column "ID" as the Primary Key
before adding the DataTable to the DataSet? If yes, then why should
this cause the error? After all, I am defining the Primary Key after
creating the DataTable i.e. the schema of the DataTable is ready after
which only I am defining the Primary Key, isn't it? So why the error?
Thanks,
Arpan
Scott, you mean to say that the following lines
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
in reality, DO NOT create the columns "ID, "First Name" & "Last Name"
in the DataTable in the first place? But if that's the case, I haven't
used "New DataColumn" anywhere in the code I have cited in post #1 but
the DataGrid does display all the columns & the rows correctly when the
code is executed. How come?
Moreover, if the above 3 lines do not create any columns, when do they
get created in the code shown in post #1? In other words, which line in
the code in post #1 actually creates the 3 columns?
Finally, even if I replace the above 3 lines with the 3 lines you have
shown & set the Primary Key on the column "ID" before adding the
DataTable to the DataSet, then still the "Object reference not set to
an instance of an object" gets thrown. Why?
Thanks,
Regards,
Arpan
Scott M. wrote:
These are the culprits:
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
You don't have any actual DataColumns in existence yet, so how can you add
what you don't have to the Columns collection of dTable?
Should be:
dTable.Columns.Add(New DataColumn("ID",
Type.GetType("System.Int32")))
dTable.Columns.Add(New DataColumn("First Name",
Type.GetType("System.String")))
dTable.Columns.Add(New DataColumn("Last Name",
Type.GetType("System.String")))
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@p79g2000cwp.googlegr oups.com...
Consider the following code that adds a table to a DataSet dynamically:
<script runat="server">
Sub Page_Load(ByVal obj As Object, ByVal ea As EventArgs)
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
End Sub
</script>
The above code works fine but if the column named "ID" is set as the
Primary Key before adding the DataTable to the DataSet i.e. if the 2
lines preceding the "End Sub" line are cut & pasted just above the line
"dSet.Tables.Add(dTable)", then the following error gets generated:
Object reference not set to an instance of an object.
pointing to the line
Dim dColumn() As DataColumn = {dSet.Tables("Users").Columns("ID")}
Which "object" is the above error message referring to? Is it the
DataSet or the DataTable or some other object? Also is the error
generating because I am defining the column "ID" as the Primary Key
before adding the DataTable to the DataSet? If yes, then why should
this cause the error? After all, I am defining the Primary Key after
creating the DataTable i.e. the schema of the DataTable is ready after
which only I am defining the Primary Key, isn't it? So why the error?
Thanks,
Arpan
Ok, first of all if you attempt to set your primary key like this:
'Define the Primary Key
Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
dSet.Tables.Add(dTable)
You'll get the object reference error because you are going into the dataset
and looking for table "Users" before you've added it to the dataset in the
first place.
As for the creation of the columns without instantiating them (as I showed
in my last post), I can't explain why it works for you. The columns must be
getting created by implicit means. Nonetheless, it is better practice to
explicitly create the columns ahead of time :
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
Dim idCol As New DataColumn("ID", Type.GetType("System.Int32"))
Dim fNameCol As New DataColumn("First Name", Type.GetType("System.String"))
Dim lNameCol As New DataColumn("Last Name", Type.GetType("System.String"))
dTable.Columns.Add(idCol)
dTable.Columns.Add(fNameCol)
dTable.Columns.Add(lNameCol)
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@75g2000cwc.googlegro ups.com...
Scott, you mean to say that the following lines
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
in reality, DO NOT create the columns "ID, "First Name" & "Last Name"
in the DataTable in the first place? But if that's the case, I haven't
used "New DataColumn" anywhere in the code I have cited in post #1 but
the DataGrid does display all the columns & the rows correctly when the
code is executed. How come?
Moreover, if the above 3 lines do not create any columns, when do they
get created in the code shown in post #1? In other words, which line in
the code in post #1 actually creates the 3 columns?
Finally, even if I replace the above 3 lines with the 3 lines you have
shown & set the Primary Key on the column "ID" before adding the
DataTable to the DataSet, then still the "Object reference not set to
an instance of an object" gets thrown. Why?
Thanks,
Regards,
Arpan
Scott M. wrote:
>These are the culprits:
dTable.Columns.Add("ID", Type.GetType("System.Int32")) dTable.Columns.Add("First Name", Type.GetType("System.String")) dTable.Columns.Add("Last Name", Type.GetType("System.String"))
You don't have any actual DataColumns in existence yet, so how can you add what you don't have to the Columns collection of dTable?
Should be:
dTable.Columns.Add(New DataColumn("ID", Type.GetType("System.Int32"))) dTable.Columns.Add(New DataColumn("First Name", Type.GetType("System.String"))) dTable.Columns.Add(New DataColumn("Last Name", Type.GetType("System.String")))
"Arpan" <ar******@hotmail.comwrote in message news:11**********************@p79g2000cwp.googleg roups.com...
Consider the following code that adds a table to a DataSet dynamically:
<script runat="server">
Sub Page_Load(ByVal obj As Object, ByVal ea As EventArgs)
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
End Sub
</script>
The above code works fine but if the column named "ID" is set as the
Primary Key before adding the DataTable to the DataSet i.e. if the 2
lines preceding the "End Sub" line are cut & pasted just above the line
"dSet.Tables.Add(dTable)", then the following error gets generated:
Object reference not set to an instance of an object.
pointing to the line
Dim dColumn() As DataColumn = {dSet.Tables("Users").Columns("ID")}
Which "object" is the above error message referring to? Is it the
DataSet or the DataTable or some other object? Also is the error
generating because I am defining the column "ID" as the Primary Key
before adding the DataTable to the DataSet? If yes, then why should
this cause the error? After all, I am defining the Primary Key after
creating the DataTable i.e. the schema of the DataTable is ready after
which only I am defining the Primary Key, isn't it? So why the error?
Thanks,
Arpan
Thanks, Scott, for the suggestions. You have indeed made it easier for
me to grasp this topic & the reason behind the error message. Moreover,
I have always preferred coding in the manner you have shown & not club
2 lines into one which can be very well done in ASP.NET. I believe it
makes things easier to understand especially for newbies like me.
>The columns must be getting created by implicit means
That was my first impression.
One last question (probably!) on this topic - can the Primary Key be
defined on the "ID" column before adding the DataTable to the DataSet?
If yes, then how?
Thanks once again for your helpful advices.
Regards,
Arpan
Scott M. wrote:
Ok, first of all if you attempt to set your primary key like this:
'Define the Primary Key
Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
dSet.Tables.Add(dTable)
You'll get the object reference error because you are going into the dataset
and looking for table "Users" before you've added it to the dataset in the
first place.
As for the creation of the columns without instantiating them (as I showed
in my last post), I can't explain why it works for you. The columns must be
getting created by implicit means. Nonetheless, it is better practice to
explicitly create the columns ahead of time :
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
Dim idCol As New DataColumn("ID", Type.GetType("System.Int32"))
Dim fNameCol As New DataColumn("First Name", Type.GetType("System.String"))
Dim lNameCol As New DataColumn("Last Name", Type.GetType("System.String"))
dTable.Columns.Add(idCol)
dTable.Columns.Add(fNameCol)
dTable.Columns.Add(lNameCol)
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@75g2000cwc.googlegro ups.com...
Scott, you mean to say that the following lines
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
in reality, DO NOT create the columns "ID, "First Name" & "Last Name"
in the DataTable in the first place? But if that's the case, I haven't
used "New DataColumn" anywhere in the code I have cited in post #1 but
the DataGrid does display all the columns & the rows correctly when the
code is executed. How come?
Moreover, if the above 3 lines do not create any columns, when do they
get created in the code shown in post #1? In other words, which line in
the code in post #1 actually creates the 3 columns?
Finally, even if I replace the above 3 lines with the 3 lines you have
shown & set the Primary Key on the column "ID" before adding the
DataTable to the DataSet, then still the "Object reference not set to
an instance of an object" gets thrown. Why?
Thanks,
Regards,
Arpan
Scott M. wrote:
These are the culprits:
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
You don't have any actual DataColumns in existence yet, so how can you
add
what you don't have to the Columns collection of dTable?
Should be:
dTable.Columns.Add(New DataColumn("ID",
Type.GetType("System.Int32")))
dTable.Columns.Add(New DataColumn("First Name",
Type.GetType("System.String")))
dTable.Columns.Add(New DataColumn("Last Name",
Type.GetType("System.String")))
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@p79g2000cwp.googlegr oups.com...
Consider the following code that adds a table to a DataSet dynamically:
<script runat="server">
Sub Page_Load(ByVal obj As Object, ByVal ea As EventArgs)
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
End Sub
</script>
The above code works fine but if the column named "ID" is set as the
Primary Key before adding the DataTable to the DataSet i.e. if the 2
lines preceding the "End Sub" line are cut & pasted just above the line
"dSet.Tables.Add(dTable)", then the following error gets generated:
Object reference not set to an instance of an object.
pointing to the line
Dim dColumn() As DataColumn = {dSet.Tables("Users").Columns("ID")}
Which "object" is the above error message referring to? Is it the
DataSet or the DataTable or some other object? Also is the error
generating because I am defining the column "ID" as the Primary Key
before adding the DataTable to the DataSet? If yes, then why should
this cause the error? After all, I am defining the Primary Key after
creating the DataTable i.e. the schema of the DataTable is ready after
which only I am defining the Primary Key, isn't it? So why the error?
Thanks,
Arpan
Yes, the primary key can be set before the table is added to the dataset.
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@m73g2000cwd.googlegr oups.com...
Thanks, Scott, for the suggestions. You have indeed made it easier for
me to grasp this topic & the reason behind the error message. Moreover,
I have always preferred coding in the manner you have shown & not club
2 lines into one which can be very well done in ASP.NET. I believe it
makes things easier to understand especially for newbies like me.
>>The columns must be getting created by implicit means
That was my first impression.
One last question (probably!) on this topic - can the Primary Key be
defined on the "ID" column before adding the DataTable to the DataSet?
If yes, then how?
Thanks once again for your helpful advices.
Regards,
Arpan
Scott M. wrote:
>Ok, first of all if you attempt to set your primary key like this:
'Define the Primary Key Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")} dSet.Tables("Users").PrimaryKey = dColumn
dSet.Tables.Add(dTable)
You'll get the object reference error because you are going into the dataset and looking for table "Users" before you've added it to the dataset in the first place.
As for the creation of the columns without instantiating them (as I showed in my last post), I can't explain why it works for you. The columns must be getting created by implicit means. Nonetheless, it is better practice to explicitly create the columns ahead of time :
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
Dim idCol As New DataColumn("ID", Type.GetType("System.Int32"))
Dim fNameCol As New DataColumn("First Name", Type.GetType("System.String"))
Dim lNameCol As New DataColumn("Last Name", Type.GetType("System.String"))
dTable.Columns.Add(idCol)
dTable.Columns.Add(fNameCol)
dTable.Columns.Add(lNameCol)
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
"Arpan" <ar******@hotmail.comwrote in message news:11**********************@75g2000cwc.googlegr oups.com...
Scott, you mean to say that the following lines
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
in reality, DO NOT create the columns "ID, "First Name" & "Last Name"
in the DataTable in the first place? But if that's the case, I haven't
used "New DataColumn" anywhere in the code I have cited in post #1 but
the DataGrid does display all the columns & the rows correctly when the
code is executed. How come?
Moreover, if the above 3 lines do not create any columns, when do they
get created in the code shown in post #1? In other words, which line in
the code in post #1 actually creates the 3 columns?
Finally, even if I replace the above 3 lines with the 3 lines you have
shown & set the Primary Key on the column "ID" before adding the
DataTable to the DataSet, then still the "Object reference not set to
an instance of an object" gets thrown. Why?
Thanks,
Regards,
Arpan
Scott M. wrote: These are the culprits:
dTable.Columns.Add("ID", Type.GetType("System.Int32")) dTable.Columns.Add("First Name", Type.GetType("System.String")) dTable.Columns.Add("Last Name", Type.GetType("System.String"))
You don't have any actual DataColumns in existence yet, so how can you add what you don't have to the Columns collection of dTable?
Should be:
dTable.Columns.Add(New DataColumn("ID", Type.GetType("System.Int32"))) dTable.Columns.Add(New DataColumn("First Name", Type.GetType("System.String"))) dTable.Columns.Add(New DataColumn("Last Name", Type.GetType("System.String")))
"Arpan" <ar******@hotmail.comwrote in message news:11**********************@p79g2000cwp.googleg roups.com...
Consider the following code that adds a table to a DataSet
dynamically:
<script runat="server">
Sub Page_Load(ByVal obj As Object, ByVal ea As EventArgs)
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name",
Type.GetType("System.String"))
dTable.Columns.Add("Last Name",
Type.GetType("System.String"))
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
End Sub
</script>
The above code works fine but if the column named "ID" is set as the
Primary Key before adding the DataTable to the DataSet i.e. if the 2
lines preceding the "End Sub" line are cut & pasted just above the
line
"dSet.Tables.Add(dTable)", then the following error gets generated:
Object reference not set to an instance of an object.
pointing to the line
Dim dColumn() As DataColumn = {dSet.Tables("Users").Columns("ID")}
Which "object" is the above error message referring to? Is it the
DataSet or the DataTable or some other object? Also is the error
generating because I am defining the column "ID" as the Primary Key
before adding the DataTable to the DataSet? If yes, then why should
this cause the error? After all, I am defining the Primary Key after
creating the DataTable i.e. the schema of the DataTable is ready
after
which only I am defining the Primary Key, isn't it? So why the
error?
Thanks,
Arpan
Yes, the primary key can be set before the table is added to the dataset
How?
Arpan
Scott M. wrote:
Yes, the primary key can be set before the table is added to the dataset.
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@m73g2000cwd.googlegr oups.com...
Thanks, Scott, for the suggestions. You have indeed made it easier for
me to grasp this topic & the reason behind the error message. Moreover,
I have always preferred coding in the manner you have shown & not club
2 lines into one which can be very well done in ASP.NET. I believe it
makes things easier to understand especially for newbies like me.
>The columns must be getting created by implicit means
That was my first impression.
One last question (probably!) on this topic - can the Primary Key be
defined on the "ID" column before adding the DataTable to the DataSet?
If yes, then how?
Thanks once again for your helpful advices.
Regards,
Arpan
Scott M. wrote:
Ok, first of all if you attempt to set your primary key like this:
'Define the Primary Key
Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
dSet.Tables.Add(dTable)
You'll get the object reference error because you are going into the
dataset
and looking for table "Users" before you've added it to the dataset in
the
first place.
As for the creation of the columns without instantiating them (as I
showed
in my last post), I can't explain why it works for you. The columns must
be
getting created by implicit means. Nonetheless, it is better practice to
explicitly create the columns ahead of time :
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
Dim idCol As New DataColumn("ID", Type.GetType("System.Int32"))
Dim fNameCol As New DataColumn("First Name",
Type.GetType("System.String"))
Dim lNameCol As New DataColumn("Last Name",
Type.GetType("System.String"))
dTable.Columns.Add(idCol)
dTable.Columns.Add(fNameCol)
dTable.Columns.Add(lNameCol)
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@75g2000cwc.googlegro ups.com...
Scott, you mean to say that the following lines
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
in reality, DO NOT create the columns "ID, "First Name" & "Last Name"
in the DataTable in the first place? But if that's the case, I haven't
used "New DataColumn" anywhere in the code I have cited in post #1 but
the DataGrid does display all the columns & the rows correctly when the
code is executed. How come?
Moreover, if the above 3 lines do not create any columns, when do they
get created in the code shown in post #1? In other words, which line in
the code in post #1 actually creates the 3 columns?
Finally, even if I replace the above 3 lines with the 3 lines you have
shown & set the Primary Key on the column "ID" before adding the
DataTable to the DataSet, then still the "Object reference not set to
an instance of an object" gets thrown. Why?
Thanks,
Regards,
Arpan
Scott M. wrote:
These are the culprits:
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name",
Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
You don't have any actual DataColumns in existence yet, so how can you
add
what you don't have to the Columns collection of dTable?
Should be:
dTable.Columns.Add(New DataColumn("ID",
Type.GetType("System.Int32")))
dTable.Columns.Add(New DataColumn("First Name",
Type.GetType("System.String")))
dTable.Columns.Add(New DataColumn("Last Name",
Type.GetType("System.String")))
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@p79g2000cwp.googlegr oups.com...
Consider the following code that adds a table to a DataSet
dynamically:
<script runat="server">
Sub Page_Load(ByVal obj As Object, ByVal ea As EventArgs)
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name",
Type.GetType("System.String"))
dTable.Columns.Add("Last Name",
Type.GetType("System.String"))
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
End Sub
</script>
The above code works fine but if the column named "ID" is set as the
Primary Key before adding the DataTable to the DataSet i.e. if the 2
lines preceding the "End Sub" line are cut & pasted just above the
line
"dSet.Tables.Add(dTable)", then the following error gets generated:
Object reference not set to an instance of an object.
pointing to the line
Dim dColumn() As DataColumn = {dSet.Tables("Users").Columns("ID")}
Which "object" is the above error message referring to? Is it the
DataSet or the DataTable or some other object? Also is the error
generating because I am defining the column "ID" as the Primary Key
before adding the DataTable to the DataSet? If yes, then why should
this cause the error? After all, I am defining the Primary Key after
creating the DataTable i.e. the schema of the DataTable is ready
after
which only I am defining the Primary Key, isn't it? So why the
error?
Thanks,
Arpan
Just think about the objects involved here...The PrimaryKey property is a
property of a DataTable. So, when you want to set that property, you need
to have a DataTable. Now, do you have a DataTable before your DataSet is
all set up, yes, you have dTable. So:
Dim dColumn As DataColumn() = {dTable.Columns("ID")}
dTable.PrimaryKey = dColumn
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@b28g2000cwb.googlegr oups.com...
>Yes, the primary key can be set before the table is added to the dataset
How?
Arpan
Scott M. wrote:
>Yes, the primary key can be set before the table is added to the dataset. "Arpan" <ar******@hotmail.comwrote in message news:11**********************@m73g2000cwd.googleg roups.com...
Thanks, Scott, for the suggestions. You have indeed made it easier for
me to grasp this topic & the reason behind the error message. Moreover,
I have always preferred coding in the manner you have shown & not club
2 lines into one which can be very well done in ASP.NET. I believe it
makes things easier to understand especially for newbies like me.
The columns must be getting created by implicit means
That was my first impression.
One last question (probably!) on this topic - can the Primary Key be
defined on the "ID" column before adding the DataTable to the DataSet?
If yes, then how?
Thanks once again for your helpful advices.
Regards,
Arpan
Scott M. wrote: Ok, first of all if you attempt to set your primary key like this:
'Define the Primary Key Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")} dSet.Tables("Users").PrimaryKey = dColumn
dSet.Tables.Add(dTable)
You'll get the object reference error because you are going into the dataset and looking for table "Users" before you've added it to the dataset in the first place.
As for the creation of the columns without instantiating them (as I showed in my last post), I can't explain why it works for you. The columns must be getting created by implicit means. Nonetheless, it is better practice to explicitly create the columns ahead of time :
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
Dim idCol As New DataColumn("ID", Type.GetType("System.Int32"))
Dim fNameCol As New DataColumn("First Name", Type.GetType("System.String"))
Dim lNameCol As New DataColumn("Last Name", Type.GetType("System.String"))
dTable.Columns.Add(idCol)
dTable.Columns.Add(fNameCol)
dTable.Columns.Add(lNameCol)
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
"Arpan" <ar******@hotmail.comwrote in message news:11**********************@75g2000cwc.googlegr oups.com...
Scott, you mean to say that the following lines
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
in reality, DO NOT create the columns "ID, "First Name" & "Last
Name"
in the DataTable in the first place? But if that's the case, I
haven't
used "New DataColumn" anywhere in the code I have cited in post #1
but
the DataGrid does display all the columns & the rows correctly when
the
code is executed. How come?
Moreover, if the above 3 lines do not create any columns, when do
they
get created in the code shown in post #1? In other words, which line
in
the code in post #1 actually creates the 3 columns?
Finally, even if I replace the above 3 lines with the 3 lines you
have
shown & set the Primary Key on the column "ID" before adding the
DataTable to the DataSet, then still the "Object reference not set
to
an instance of an object" gets thrown. Why?
Thanks,
Regards,
Arpan
Scott M. wrote: These are the culprits:
dTable.Columns.Add("ID", Type.GetType("System.Int32")) dTable.Columns.Add("First Name", Type.GetType("System.String")) dTable.Columns.Add("Last Name", Type.GetType("System.String"))
You don't have any actual DataColumns in existence yet, so how can you add what you don't have to the Columns collection of dTable?
Should be:
dTable.Columns.Add(New DataColumn("ID", Type.GetType("System.Int32"))) dTable.Columns.Add(New DataColumn("First Name", Type.GetType("System.String"))) dTable.Columns.Add(New DataColumn("Last Name", Type.GetType("System.String")))
"Arpan" <ar******@hotmail.comwrote in message news:11**********************@p79g2000cwp.googleg roups.com...
Consider the following code that adds a table to a DataSet
dynamically:
<script runat="server">
Sub Page_Load(ByVal obj As Object, ByVal ea As EventArgs)
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name",
Type.GetType("System.String"))
dTable.Columns.Add("Last Name",
Type.GetType("System.String"))
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
End Sub
</script>
The above code works fine but if the column named "ID" is set as
the
Primary Key before adding the DataTable to the DataSet i.e. if
the 2
lines preceding the "End Sub" line are cut & pasted just above
the
line
"dSet.Tables.Add(dTable)", then the following error gets
generated:
Object reference not set to an instance of an object.
pointing to the line
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
Which "object" is the above error message referring to? Is it the
DataSet or the DataTable or some other object? Also is the error
generating because I am defining the column "ID" as the Primary
Key
before adding the DataTable to the DataSet? If yes, then why
should
this cause the error? After all, I am defining the Primary Key
after
creating the DataTable i.e. the schema of the DataTable is ready
after
which only I am defining the Primary Key, isn't it? So why the
error?
Thanks,
Arpan
Also, there is no rule that says that a DataTable *must* be added to a
DataSet at all, so setting the primary key must be possible before adding
the table to the DataSet, since you may not even want to use a dataset
anyway.
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@b28g2000cwb.googlegr oups.com...
>Yes, the primary key can be set before the table is added to the dataset
How?
Arpan
Scott M. wrote:
>Yes, the primary key can be set before the table is added to the dataset. "Arpan" <ar******@hotmail.comwrote in message news:11**********************@m73g2000cwd.googleg roups.com...
Thanks, Scott, for the suggestions. You have indeed made it easier for
me to grasp this topic & the reason behind the error message. Moreover,
I have always preferred coding in the manner you have shown & not club
2 lines into one which can be very well done in ASP.NET. I believe it
makes things easier to understand especially for newbies like me.
The columns must be getting created by implicit means
That was my first impression.
One last question (probably!) on this topic - can the Primary Key be
defined on the "ID" column before adding the DataTable to the DataSet?
If yes, then how?
Thanks once again for your helpful advices.
Regards,
Arpan
Scott M. wrote: Ok, first of all if you attempt to set your primary key like this:
'Define the Primary Key Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")} dSet.Tables("Users").PrimaryKey = dColumn
dSet.Tables.Add(dTable)
You'll get the object reference error because you are going into the dataset and looking for table "Users" before you've added it to the dataset in the first place.
As for the creation of the columns without instantiating them (as I showed in my last post), I can't explain why it works for you. The columns must be getting created by implicit means. Nonetheless, it is better practice to explicitly create the columns ahead of time :
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
Dim idCol As New DataColumn("ID", Type.GetType("System.Int32"))
Dim fNameCol As New DataColumn("First Name", Type.GetType("System.String"))
Dim lNameCol As New DataColumn("Last Name", Type.GetType("System.String"))
dTable.Columns.Add(idCol)
dTable.Columns.Add(fNameCol)
dTable.Columns.Add(lNameCol)
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
"Arpan" <ar******@hotmail.comwrote in message news:11**********************@75g2000cwc.googlegr oups.com...
Scott, you mean to say that the following lines
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
in reality, DO NOT create the columns "ID, "First Name" & "Last
Name"
in the DataTable in the first place? But if that's the case, I
haven't
used "New DataColumn" anywhere in the code I have cited in post #1
but
the DataGrid does display all the columns & the rows correctly when
the
code is executed. How come?
Moreover, if the above 3 lines do not create any columns, when do
they
get created in the code shown in post #1? In other words, which line
in
the code in post #1 actually creates the 3 columns?
Finally, even if I replace the above 3 lines with the 3 lines you
have
shown & set the Primary Key on the column "ID" before adding the
DataTable to the DataSet, then still the "Object reference not set
to
an instance of an object" gets thrown. Why?
Thanks,
Regards,
Arpan
Scott M. wrote: These are the culprits:
dTable.Columns.Add("ID", Type.GetType("System.Int32")) dTable.Columns.Add("First Name", Type.GetType("System.String")) dTable.Columns.Add("Last Name", Type.GetType("System.String"))
You don't have any actual DataColumns in existence yet, so how can you add what you don't have to the Columns collection of dTable?
Should be:
dTable.Columns.Add(New DataColumn("ID", Type.GetType("System.Int32"))) dTable.Columns.Add(New DataColumn("First Name", Type.GetType("System.String"))) dTable.Columns.Add(New DataColumn("Last Name", Type.GetType("System.String")))
"Arpan" <ar******@hotmail.comwrote in message news:11**********************@p79g2000cwp.googleg roups.com...
Consider the following code that adds a table to a DataSet
dynamically:
<script runat="server">
Sub Page_Load(ByVal obj As Object, ByVal ea As EventArgs)
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name",
Type.GetType("System.String"))
dTable.Columns.Add("Last Name",
Type.GetType("System.String"))
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
End Sub
</script>
The above code works fine but if the column named "ID" is set as
the
Primary Key before adding the DataTable to the DataSet i.e. if
the 2
lines preceding the "End Sub" line are cut & pasted just above
the
line
"dSet.Tables.Add(dTable)", then the following error gets
generated:
Object reference not set to an instance of an object.
pointing to the line
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
Which "object" is the above error message referring to? Is it the
DataSet or the DataTable or some other object? Also is the error
generating because I am defining the column "ID" as the Primary
Key
before adding the DataTable to the DataSet? If yes, then why
should
this cause the error? After all, I am defining the Primary Key
after
creating the DataTable i.e. the schema of the DataTable is ready
after
which only I am defining the Primary Key, isn't it? So why the
error?
Thanks,
Arpan
Thank you very very very much, Scott, for all the guidance you have
bestowed on me.
Regards,
Arpan
Scott M. wrote:
Also, there is no rule that says that a DataTable *must* be added to a
DataSet at all, so setting the primary key must be possible before adding
the table to the DataSet, since you may not even want to use a dataset
anyway.
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@b28g2000cwb.googlegr oups.com...
Yes, the primary key can be set before the table is added to the dataset
How?
Arpan
Scott M. wrote:
Yes, the primary key can be set before the table is added to the dataset.
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@m73g2000cwd.googlegr oups.com...
Thanks, Scott, for the suggestions. You have indeed made it easier for
me to grasp this topic & the reason behind the error message. Moreover,
I have always preferred coding in the manner you have shown & not club
2 lines into one which can be very well done in ASP.NET. I believe it
makes things easier to understand especially for newbies like me. The columns must be getting created by implicit means
That was my first impression.
One last question (probably!) on this topic - can the Primary Key be
defined on the "ID" column before adding the DataTable to the DataSet?
If yes, then how?
Thanks once again for your helpful advices.
Regards,
Arpan
Scott M. wrote:
Ok, first of all if you attempt to set your primary key like this:
'Define the Primary Key
Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
dSet.Tables.Add(dTable)
You'll get the object reference error because you are going into the
dataset
and looking for table "Users" before you've added it to the dataset in
the
first place.
As for the creation of the columns without instantiating them (as I
showed
in my last post), I can't explain why it works for you. The columns
must
be
getting created by implicit means. Nonetheless, it is better practice
to
explicitly create the columns ahead of time :
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
Dim idCol As New DataColumn("ID", Type.GetType("System.Int32"))
Dim fNameCol As New DataColumn("First Name",
Type.GetType("System.String"))
Dim lNameCol As New DataColumn("Last Name",
Type.GetType("System.String"))
dTable.Columns.Add(idCol)
dTable.Columns.Add(fNameCol)
dTable.Columns.Add(lNameCol)
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@75g2000cwc.googlegro ups.com...
Scott, you mean to say that the following lines
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
in reality, DO NOT create the columns "ID, "First Name" & "Last
Name"
in the DataTable in the first place? But if that's the case, I
haven't
used "New DataColumn" anywhere in the code I have cited in post #1
but
the DataGrid does display all the columns & the rows correctly when
the
code is executed. How come?
Moreover, if the above 3 lines do not create any columns, when do
they
get created in the code shown in post #1? In other words, which line
in
the code in post #1 actually creates the 3 columns?
Finally, even if I replace the above 3 lines with the 3 lines you
have
shown & set the Primary Key on the column "ID" before adding the
DataTable to the DataSet, then still the "Object reference not set
to
an instance of an object" gets thrown. Why?
Thanks,
Regards,
Arpan
Scott M. wrote:
These are the culprits:
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name",
Type.GetType("System.String"))
dTable.Columns.Add("Last Name",
Type.GetType("System.String"))
You don't have any actual DataColumns in existence yet, so how can
you
add
what you don't have to the Columns collection of dTable?
Should be:
dTable.Columns.Add(New DataColumn("ID",
Type.GetType("System.Int32")))
dTable.Columns.Add(New DataColumn("First Name",
Type.GetType("System.String")))
dTable.Columns.Add(New DataColumn("Last Name",
Type.GetType("System.String")))
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@p79g2000cwp.googlegr oups.com...
Consider the following code that adds a table to a DataSet
dynamically:
<script runat="server">
Sub Page_Load(ByVal obj As Object, ByVal ea As EventArgs)
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name",
Type.GetType("System.String"))
dTable.Columns.Add("Last Name",
Type.GetType("System.String"))
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
End Sub
</script>
The above code works fine but if the column named "ID" is set as
the
Primary Key before adding the DataTable to the DataSet i.e. if
the 2
lines preceding the "End Sub" line are cut & pasted just above
the
line
"dSet.Tables.Add(dTable)", then the following error gets
generated:
Object reference not set to an instance of an object.
pointing to the line
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
Which "object" is the above error message referring to? Is it the
DataSet or the DataTable or some other object? Also is the error
generating because I am defining the column "ID" as the Primary
Key
before adding the DataTable to the DataSet? If yes, then why
should
this cause the error? After all, I am defining the Primary Key
after
creating the DataTable i.e. the schema of the DataTable is ready
after
which only I am defining the Primary Key, isn't it? So why the
error?
Thanks,
Arpan
No problem. Good luck!
"Arpan" <ar******@hotmail.comwrote in message
news:11**********************@m73g2000cwd.googlegr oups.com...
Thank you very very very much, Scott, for all the guidance you have
bestowed on me.
Regards,
Arpan
Scott M. wrote:
>Also, there is no rule that says that a DataTable *must* be added to a DataSet at all, so setting the primary key must be possible before adding the table to the DataSet, since you may not even want to use a dataset anyway.
"Arpan" <ar******@hotmail.comwrote in message news:11**********************@b28g2000cwb.googleg roups.com...
>Yes, the primary key can be set before the table is added to the dataset
How?
Arpan
Scott M. wrote: Yes, the primary key can be set before the table is added to the dataset. "Arpan" <ar******@hotmail.comwrote in message news:11**********************@m73g2000cwd.googleg roups.com...
Thanks, Scott, for the suggestions. You have indeed made it easier
for
me to grasp this topic & the reason behind the error message.
Moreover,
I have always preferred coding in the manner you have shown & not
club
2 lines into one which can be very well done in ASP.NET. I believe
it
makes things easier to understand especially for newbies like me.
The columns must be getting created by implicit means
That was my first impression.
One last question (probably!) on this topic - can the Primary Key be
defined on the "ID" column before adding the DataTable to the
DataSet?
If yes, then how?
Thanks once again for your helpful advices.
Regards,
Arpan
Scott M. wrote: Ok, first of all if you attempt to set your primary key like this:
'Define the Primary Key Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")} dSet.Tables("Users").PrimaryKey = dColumn
dSet.Tables.Add(dTable)
You'll get the object reference error because you are going into the dataset and looking for table "Users" before you've added it to the dataset in the first place.
As for the creation of the columns without instantiating them (as I showed in my last post), I can't explain why it works for you. The columns must be getting created by implicit means. Nonetheless, it is better practice to explicitly create the columns ahead of time :
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
Dim idCol As New DataColumn("ID", Type.GetType("System.Int32"))
Dim fNameCol As New DataColumn("First Name", Type.GetType("System.String"))
Dim lNameCol As New DataColumn("Last Name", Type.GetType("System.String"))
dTable.Columns.Add(idCol)
dTable.Columns.Add(fNameCol)
dTable.Columns.Add(lNameCol)
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn As DataColumn() = {dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
"Arpan" <ar******@hotmail.comwrote in message news:11**********************@75g2000cwc.googlegr oups.com...
Scott, you mean to say that the following lines
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name", Type.GetType("System.String"))
dTable.Columns.Add("Last Name", Type.GetType("System.String"))
in reality, DO NOT create the columns "ID, "First Name" & "Last
Name"
in the DataTable in the first place? But if that's the case, I
haven't
used "New DataColumn" anywhere in the code I have cited in post
#1
but
the DataGrid does display all the columns & the rows correctly
when
the
code is executed. How come?
Moreover, if the above 3 lines do not create any columns, when do
they
get created in the code shown in post #1? In other words, which
line
in
the code in post #1 actually creates the 3 columns?
Finally, even if I replace the above 3 lines with the 3 lines you
have
shown & set the Primary Key on the column "ID" before adding the
DataTable to the DataSet, then still the "Object reference not
set
to
an instance of an object" gets thrown. Why?
Thanks,
Regards,
Arpan
Scott M. wrote: These are the culprits:
dTable.Columns.Add("ID", Type.GetType("System.Int32")) dTable.Columns.Add("First Name", Type.GetType("System.String")) dTable.Columns.Add("Last Name", Type.GetType("System.String"))
You don't have any actual DataColumns in existence yet, so how can you add what you don't have to the Columns collection of dTable?
Should be:
dTable.Columns.Add(New DataColumn("ID", Type.GetType("System.Int32"))) dTable.Columns.Add(New DataColumn("First Name", Type.GetType("System.String"))) dTable.Columns.Add(New DataColumn("Last Name", Type.GetType("System.String")))
"Arpan" <ar******@hotmail.comwrote in message news:11**********************@p79g2000cwp.googleg roups.com...
Consider the following code that adds a table to a DataSet
dynamically:
<script runat="server">
Sub Page_Load(ByVal obj As Object, ByVal ea As EventArgs)
'Create an empty DataSet
Dim dSet As New DataSet
'Create a new table & add columns
Dim dTable As New DataTable("Users")
dTable.Columns.Add("ID", Type.GetType("System.Int32"))
dTable.Columns.Add("First Name",
Type.GetType("System.String"))
dTable.Columns.Add("Last Name",
Type.GetType("System.String"))
dSet.Tables.Add(dTable)
'Define the Primary Key
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
dSet.Tables("Users").PrimaryKey = dColumn
End Sub
</script>
The above code works fine but if the column named "ID" is set
as
the
Primary Key before adding the DataTable to the DataSet i.e. if
the 2
lines preceding the "End Sub" line are cut & pasted just above
the
line
"dSet.Tables.Add(dTable)", then the following error gets
generated:
Object reference not set to an instance of an object.
pointing to the line
Dim dColumn() As DataColumn =
{dSet.Tables("Users").Columns("ID")}
Which "object" is the above error message referring to? Is it
the
DataSet or the DataTable or some other object? Also is the
error
generating because I am defining the column "ID" as the
Primary
Key
before adding the DataTable to the DataSet? If yes, then why
should
this cause the error? After all, I am defining the Primary Key
after
creating the DataTable i.e. the schema of the DataTable is
ready
after
which only I am defining the Primary Key, isn't it? So why the
error?
Thanks,
Arpan This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Daniel |
last post by:
Hello =)
I have an object which contains a method that should execute every x ms. I
can use setInterval inside the object construct like this -
self.setInterval('ObjectName.methodName()',...
|
by: Martin |
last post by:
I'd like to be able to get the name of an object instance from within
a call to a method of that same object. Is this at all possible?
The example below works by passing in the name of the object...
|
by: Carlos Lozano |
last post by:
Hi,
What is the right way to create an OCX COM component. The component is
already registerred, but can't create an instance. I am using the reference
to the interop module created.
If I use...
|
by: Adam |
last post by:
We have a web site that uses .vb for the web pages and .cs for a class
module. We are getting the error in .NET 2.0 and VS 2005 beta 2. It does
work with .NET 1.1.
When trying to access a page...
|
by: Luke Matuszewski |
last post by:
Here are some questions that i am interested about and wanted to here
an explanation/discussion:
1. (general) Is the objectness in JavaScript was supported from the
very first version of it (in...
|
by: Andrew Poulos |
last post by:
With the following code I can't understand why this.num keeps
incrementing each time I create a new instance of Foo. For each instance
I'm expecting this.num to alert as 1 but keeps incrementing.
...
|
by: Shailen Sukul |
last post by:
Observed a weird behaviour with object references.
See code listing below:
using System;
using System.Collections.Generic;
using System.Text;
namespace PointerExceptionTest
{
/*
|
by: Philipp Reif |
last post by:
Hi all,
I've got a little hole in my head concerning references. Here's what
I'm trying to do: I'm calling a function, passing the reference of a
business object for editing. The function clones...
|
by: User1014 |
last post by:
A global variable is really just a property of the "Global Object", so
what does that make a function defined in the global context? A method
of the Global Object?
...
|
by: Ralph |
last post by:
Hi
I don't understand why it's not working:
function schedule(imTop){
this.tdImagesTop = imTop;
}
schedule.prototype.selectEl = function() {
alert(this.tdImagesTop);
|
by: CloudSolutions |
last post by:
Introduction:
For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
|
by: Faith0G |
last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 3 Apr 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome former...
|
by: ryjfgjl |
last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: aa123db |
last post by:
Variable and constants
Use var or let for variables and const fror constants.
Var foo ='bar';
Let foo ='bar';const baz ='bar';
Functions
function $name$ ($parameters$) {
}
...
|
by: ryjfgjl |
last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
| |