473,386 Members | 1,766 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,386 software developers and data experts.

Object reference not set to an instance of an object. .......... Error .... Please Help

Hi,

I am facing a problem, and i don't know why the error is being generated.

I am updating a datagrid with an XML file.

My code is

Protected Sub UpdateCommand(ByVal Sender As Object, ByVal E As DataGridCommandEventArgs)
Try
Dim deletekey As String
dgpayer.EditItemIndex = -1
deletekey = dgpayer.DataKeys(CInt(E.Item.ItemIndex))

' these are the 4 new edited values
Dim newpaymentamount As String = (CType(E.Item.FindControl("txtepaymentamount"), TextBox).Text)
Dim newpaymentreference As String = (CType(E.Item.FindControl("txtepaymentreference"), TextBox).Text)
Dim newcomment As String = (CType(E.Item.FindControl("txtecomment"), TextBox).Text)
Dim newdatetime As String = (CType(E.Item.FindControl("txtedatetime"), TextBox).Text)
' Response.Write(newcomment)
'load the XML
Dim doc As New XmlDocument()
doc.Load("c:\Inetpub\wwwroot\Cashier\cashier.xml")

Dim node As XmlElement = doc.SelectSingleNode("cashier/tag[@section=payer-" & lbunique.Text & "']")

' setting the attributes to the xml node to replace the values with the new ones
node.SetAttribute("payment_amount", newpaymentamount)
node.SetAttribute("payment_reference", newpaymentreference)
node.SetAttribute("comment", newcomment)
node.SetAttribute("datetime", newdatetime)

' save the xml
doc.Save("c:\Inetpub\wwwroot\Cashier\cashier.xml")

'display the datagrid
viewgrid()
Catch Exc As Exception
lbError.Text = "Update DataGrid Error: " & Exc.Message
End Try
End Sub

And my XML file is

<?xml version="1.0" standalone="yes"?>
<cashier>
<tag param1="payer-16" param2="Reeves" param3="1" param4="324" payment_amount="123.00" payment_reference="123" comment="asf" datetime="7/8/2003" />
<tag param1="payer-14" param2="Johnny" param3="3" param4="345" payment_amount="113.00" payment_reference="123" comment="asf" datetime="7/8/2003" />
<tag param1="payer-14" param2="Joahns" param3="2" param4="325" payment_amount="135.00" payment_reference="123" comment="asf" datetime="7/8/2003" />
</cashier>

The error is generated why i set the attributes to replace the old values with the new ones.

The error message is 'Object reference not set to an instance of an object.'

Any help is appreciated.

--
Thank You,
Sean
Nov 11 '05 #1
2 6801
The error is thrown because you are not finding any nodes when you call the
following line..

Dim node As XmlElement = doc.SelectSingleNode("cashier/tag[@section=payer-"
& lbunique.Text & "']")

It looks like your XPath query is not correct. I don't see an attribute
called 'section' in your xml.

Chad

"Sean" <nospam@> wrote in message
news:#A**************@TK2MSFTNGP11.phx.gbl...
Hi,

I am facing a problem, and i don't know why the error is being generated.

I am updating a datagrid with an XML file.

My code is

Protected Sub UpdateCommand(ByVal Sender As Object, ByVal E As
DataGridCommandEventArgs)
Try
Dim deletekey As String
dgpayer.EditItemIndex = -1
deletekey = dgpayer.DataKeys(CInt(E.Item.ItemIndex))

' these are the 4 new edited values
Dim newpaymentamount As String =
(CType(E.Item.FindControl("txtepaymentamount"), TextBox).Text)
Dim newpaymentreference As String =
(CType(E.Item.FindControl("txtepaymentreference"), TextBox).Text)
Dim newcomment As String =
(CType(E.Item.FindControl("txtecomment"), TextBox).Text)
Dim newdatetime As String =
(CType(E.Item.FindControl("txtedatetime"), TextBox).Text)
' Response.Write(newcomment)
'load the XML
Dim doc As New XmlDocument()
doc.Load("c:\Inetpub\wwwroot\Cashier\cashier.xml")

Dim node As XmlElement =
doc.SelectSingleNode("cashier/tag[@section=payer-" & lbunique.Text & "']")

' setting the attributes to the xml node to replace the values
with the new ones
node.SetAttribute("payment_amount", newpaymentamount)
node.SetAttribute("payment_reference", newpaymentreference)
node.SetAttribute("comment", newcomment)
node.SetAttribute("datetime", newdatetime)

' save the xml
doc.Save("c:\Inetpub\wwwroot\Cashier\cashier.xml")

'display the datagrid
viewgrid()
Catch Exc As Exception
lbError.Text = "Update DataGrid Error: " & Exc.Message
End Try
End Sub

And my XML file is

<?xml version="1.0" standalone="yes"?>
<cashier>
<tag param1="payer-16" param2="Reeves" param3="1" param4="324"
payment_amount="123.00" payment_reference="123" comment="asf"
datetime="7/8/2003" />
<tag param1="payer-14" param2="Johnny" param3="3" param4="345"
payment_amount="113.00" payment_reference="123" comment="asf"
datetime="7/8/2003" />
<tag param1="payer-14" param2="Joahns" param3="2" param4="325"
payment_amount="135.00" payment_reference="123" comment="asf"
datetime="7/8/2003" />
</cashier>

The error is generated why i set the attributes to replace the old values
with the new ones.

The error message is 'Object reference not set to an instance of an
object.'

Any help is appreciated.

--
Thank You,
Sean
Nov 11 '05 #2
Sorry,

i did make a change to the xml file.

the xml file is

<?xml version="1.0" standalone="yes"?>
<cashier>
<tag section="work-14" param2="123" param2="NOTARY" param3="7/9/2003 08:00
AM" param5="PENDING" param6="3" param7="1000341" />
<tag Section="payer-14" param2="New York" param2="1" param3="CHECK/MO"
payment_amount="123.00" payment_reference="12" param4="No" comment="asdf"
datetime="7/9/2003" />
</cashier>

phew, it worked.

now, the problem is that there is no unique key in the xml file, so it
replaces the first occurance of the payer attribute.

Should i change the xml file, in order to generate a unique field to each of
the tags, or should i combine the elements in the SelectSingleNode into
'and' statement ?

Just wondering what is the better approach.
Dim node As XmlElement =
doc.SelectSingleNode("cashier/tag[@Section='payerinformation-" &
lbunique.Text & "']")


"Chad Tamplin" <ch**********@cinfin.com> wrote in message
news:e4**************@tk2msftngp13.phx.gbl...
The error is thrown because you are not finding any nodes when you call the following line..

Dim node As XmlElement = doc.SelectSingleNode("cashier/tag[@section=payer-" & lbunique.Text & "']")

It looks like your XPath query is not correct. I don't see an attribute
called 'section' in your xml.

Chad

"Sean" <nospam@> wrote in message
news:#A**************@TK2MSFTNGP11.phx.gbl...
Hi,

I am facing a problem, and i don't know why the error is being generated.

I am updating a datagrid with an XML file.

My code is

Protected Sub UpdateCommand(ByVal Sender As Object, ByVal E As
DataGridCommandEventArgs)
Try
Dim deletekey As String
dgpayer.EditItemIndex = -1
deletekey = dgpayer.DataKeys(CInt(E.Item.ItemIndex))

' these are the 4 new edited values
Dim newpaymentamount As String =
(CType(E.Item.FindControl("txtepaymentamount"), TextBox).Text)
Dim newpaymentreference As String =
(CType(E.Item.FindControl("txtepaymentreference"), TextBox).Text)
Dim newcomment As String =
(CType(E.Item.FindControl("txtecomment"), TextBox).Text)
Dim newdatetime As String =
(CType(E.Item.FindControl("txtedatetime"), TextBox).Text)
' Response.Write(newcomment)
'load the XML
Dim doc As New XmlDocument()
doc.Load("c:\Inetpub\wwwroot\Cashier\cashier.xml")

Dim node As XmlElement =
doc.SelectSingleNode("cashier/tag[@section=payer-" & lbunique.Text & "']")

' setting the attributes to the xml node to replace the values
with the new ones
node.SetAttribute("payment_amount", newpaymentamount)
node.SetAttribute("payment_reference", newpaymentreference)
node.SetAttribute("comment", newcomment)
node.SetAttribute("datetime", newdatetime)

' save the xml
doc.Save("c:\Inetpub\wwwroot\Cashier\cashier.xml")

'display the datagrid
viewgrid()
Catch Exc As Exception
lbError.Text = "Update DataGrid Error: " & Exc.Message
End Try
End Sub

And my XML file is

<?xml version="1.0" standalone="yes"?>
<cashier>
<tag param1="payer-16" param2="Reeves" param3="1" param4="324"
payment_amount="123.00" payment_reference="123" comment="asf"
datetime="7/8/2003" />
<tag param1="payer-14" param2="Johnny" param3="3" param4="345"
payment_amount="113.00" payment_reference="123" comment="asf"
datetime="7/8/2003" />
<tag param1="payer-14" param2="Joahns" param3="2" param4="325"
payment_amount="135.00" payment_reference="123" comment="asf"
datetime="7/8/2003" />
</cashier>

The error is generated why i set the attributes to replace the old values
with the new ones.

The error message is 'Object reference not set to an instance of an
object.'

Any help is appreciated.

--
Thank You,
Sean

Nov 11 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Pkpatel | last post by:
Hi, I keep getting this error every time I try to load crystalreportviewer on a webform with a dataset. Here is the error: -------------------------------------------------------- Server...
4
by: Frawls | last post by:
Hi, I get the following error when trying to run a search on my aspx site, this error only occours if the product im searching for does not exist. Can anybody explain this please and help me...
1
by: Dave | last post by:
Hello I hope someone can give me some idea of what is causing this error. I can run though my asp app locally no problem but when i put it on the server i get this error, any help at all whould be...
6
by: blash | last post by:
Can someone help me? I really don't have a clue. My company staff told me they often got such error: "Object reference not set to an instance of an object." when they are in search result page...
3
by: nemo | last post by:
Hi, My application works fine on the localhost but spits this error as soon as I put it on the server. I know this error occurs when an object has not been instantiated prior to a reference, but...
3
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...
3
by: Brano | last post by:
HI all, I have a problem i have a web application that was working fine and this morning when i run it and click on a button that does Reponse.Redirect to a page i get this error : Server...
5
by: eBob.com | last post by:
I am trying to change some Structures to Classes. The Classes now look like this ... Public Class OneAttr Public AttrName As String Public Column As String Public Caption As String End Class...
2
by: Hennie | last post by:
I Get the following error all of a sudden: I do not know what is wrong or where to start looking. I added the Debug="true" directive at the top of the page, but it does not help at all. What...
1
by: Nathan Sokalski | last post by:
I have a UserControl that I declare programmatically as follows: Dim userctrl as New rightside_portal() The codebehind file for this UserControl looks like the following: Partial Public...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
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$) { } ...
0
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...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
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
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.