在Infopath里面用VB.net编程,老是出现System.NullReferenceException错误

geng3stone 2008-12-03 09:05:20
System.NullReferenceException was unhandled by user code
Message="Object reference not set to an instance of an object."
Source="LeaveRequisitionForm"
StackTrace:
at LeaveRequisitionForm.FormCode.FormEvents_Loading(Object sender,
LoadingEventArgs e)
at
Microsoft.Office.InfoPath.Internal.FormEventsHost.OnLoad(DocReturnEvent
pEvent)
at
Microsoft.Office.Interop.InfoPath.SemiTrust._XDocumentEventSink2_SinkHelper.OnLoad(DocReturnEvent pEvent)

大概就是这样的问题,我是初学者
现在再用Infopath+Workflow搞Sharepoint,但是现在有一些在infopath中的数据处理
但是现在哪怕是用MSDN上的实例编程也会出现这样的错误
看国外的一些网站说是Xpathnavigator没有声明的原因
但是我用类似的代码
public XPathNavigator _xPathNav
{
get { return this.CreateNavigator(); }
}
来声明,也不行,直接就报语法错误了
但是实际上开始就有import System.XML.Xpath的声明啊,应该包括Xpathnavigator的吧
哪位帮个忙,我很急,下周就要叫初稿了
...全文
290 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
geng3stone 2008-12-29
  • 打赏
  • 举报
回复
还是不行。。。最后直接用Infopath,基本实现功能了,不过还是感谢楼上
blues_zhao_yang 2008-12-05
  • 打赏
  • 举报
回复
试试看
dim target1 as New XPathNavigator().SelectSingleNode("/my:myfields/my:allday",NamespaceManager)

如果还不行的话打出target1.的时候仔细看看后面的属性和方法里面都有些什么,看看value的解释是什么。
geng3stone 2008-12-04
  • 打赏
  • 举报
回复
Imports Microsoft.Office.InfoPath
Imports System
Imports System.Xml
Imports System.Xml.XPath
Imports System.Windows.Forms
Imports mshtml





Namespace init
Public Class FormCode
' 启用浏览器功能的表单不支持成员变量。
' 请使用代码从 FormState 词典
' 写入和读取这些值,如下所示:
'
' 注意: 以下是 Microsoft Office InfoPath 所需的过程。

' 可以使用 Microsoft Office InfoPath 对其进行修改。


Private Sub InternalStartup(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Startup
AddHandler EventManager.FormEvents.Loading, AddressOf FormEvents_Loading
AddHandler EventManager.XmlEvents("/my:myFields/my:AllDay").Changed, AddressOf AllDay_Changed

AddHandler EventManager.XmlEvents("/my:myFields/my:Date/my:StartDate").Changed, AddressOf StartDate_OnAfterChanged
AddHandler DirectCast(EventManager.ControlEvents("CTRL27_5"), ButtonEvent).Clicked, AddressOf CTRL27_5_Clicked
AddHandler EventManager.XmlEvents("/my:myFields/my:DTTest").Changed, AddressOf DTTest_Changed
AddHandler EventManager.XmlEvents("/my:myFields/my:DTTest").Changing, AddressOf DTTest_Changing
AddHandler EventManager.XmlEvents("/my:myFields/my:DTTest").Validating, AddressOf DTTest_Validating



End Sub


Public Sub FormEvents_Loading(ByVal sender As Object, ByVal e As LoadingEventArgs)
' 在此处编写代码。


Dim instance As DataSource = Me.MainDataSource

Dim mydate As XPathNavigator = CreateNavigator().SelectSingleNode("/my:myFields/my:DTTest", NamespaceManager)

mydate.SetValue(System.DateTime.Now.ToString("yyyy-MM-dd"))

End Sub

大概就是这样,FormEvents_Loading事件中代码是微软的Sample,其实就是给一个Textbox赋值,但是运行时候会出现错误
blues_zhao_yang 2008-12-04
  • 打赏
  • 举报
回复
关于XPathNavigator我不知道,无法给你帮助
只是提醒你如果要把这段代码
public XPathNavigator _xPathNav
{
get { return this.CreateNavigator(); }
}
加进去的话,要先翻译成VB的写法。
你最好把出错的代码贴出来。
geng3stone 2008-12-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 blues_zhao_yang 的回复:]
public XPathNavigator _xPathNav
{
get { return this.CreateNavigator(); }
}
这个是C#的写法吧??你到底是VB程序还是C#程序??
一个工程里不能这样嵌套吧??
[/Quote]

infopath表单的默认编程语言是VB...我是直接在表单.vb文件中写代码的
那么敢问这位老兄在VB程序中如何声明XPathNavigator呢?一定需要单独声明么?
blues_zhao_yang 2008-12-04
  • 打赏
  • 举报
回复
public XPathNavigator _xPathNav
{
get { return this.CreateNavigator(); }
}
这个是C#的写法吧??你到底是VB程序还是C#程序??
一个工程里不能这样嵌套吧??
geng3stone 2008-12-04
  • 打赏
  • 举报
回复
自己顶一下,大家要帮忙呀。。。
geng3stone 2008-12-04
  • 打赏
  • 举报
回复
就是不知道哪个没有声明:
比如很简单的
dim target1 as XPathNavigator().SelectSingleNode("/my:myfields/my:allday",NamespaceManager)

判断这个Checkbox是否选中

if target1.value = true then
。。。。。
到这里就报错了
blues_zhao_yang 2008-12-04
  • 打赏
  • 举报
回复
System.NullReferenceException: 未将对象引用设置到对象的实例
是这样的提示吗?

这种错误多半是没有将对象实例化引起的
看看你引用的变量里有没有需要New关键字实例化的地方
有些变量必须New以后才可以使用。
geng3stone 2008-12-04
  • 打赏
  • 举报
回复
谢谢咯
不过比如说我要判断Checkbox的值是否为True
但是好像XML里面这个xpathnavigator没有Checked这个属性,只有Value属性
if target1.value = true then
......
end if

这样就会报之前的错误
blues_zhao_yang 2008-12-04
  • 打赏
  • 举报
回复
说错了

Checkbox的值是:Checkbox.Checked
DateTimePicker的值是:DateTimePicker.Value
blues_zhao_yang 2008-12-04
  • 打赏
  • 举报
回复
-_-!
你的代码我没看懂,不好意思

Checkbox的值:Checkbox.Value
更改日期可以用DateTimePicker控件,把控件的值赋给一个DateTime类型的变量
geng3stone 2008-12-04
  • 打赏
  • 举报
回复
还有请教一下,如何取得Checkbox的值
还有就是如何更改一个日期型数据的值。。。
都是在Infopath里面操作~~
tinalucky 2008-12-03
  • 打赏
  • 举报
回复
?没人?帮楼主顶一个!
英文版:Professional ADO.NET 3.5 with LINQ and the Entity Framework 内容简介 《ADO.NET 3.5高级编程:应用LINQ&Entity; Framework》由知名的微软数据库权威专家Roger Jennings编写,凝聚了Roger多年的数据库编程经验,具有很强的指导性和实用性。《ADO.NET 3.5高级编程:应用LINQ&Entity; Framework》详细介绍了LINQ和Entity Framework技术的方方面面,通过丰富的示例程序演示了如何使用这些新兴技术来提高编程效率。主要包含5部分内容:ADO.NET 3.5概览,LINQ架构和基本实现,LINQ to SQL等各种领域相关的LINQ实现,ADO.NET实体框架介绍,以及如何实现ADO.NET实体框架。通过学习《ADO.NET 3.5高级编程:应用LINQ&Entity; Framework》,您将轻松掌握如何利用LINQ和Entity Framework的前沿查询技术和对象/关系映射技术来推动企业级计算的革新。 作者简介 作者:(美国)詹宁斯(Roger Jennings) 译者:孟兆炜 Roger Jennings是一名专业的作者和顾问。他在Microsoft.NET n层结构、客户/服务器数据库应用程序、数据密集的基于Windows通信基础(Windows Communication Foundation,WCF)的Web服务等方面有很深的造诣。从Professional Extensions for Visual Basic 2.0(代号Rawhide)开始,他就是Visual Basic和sual Studio所有版本的beta测试人员。 Roger先生编写的25本计算机方面书籍的印刷量已经超过125万册,并被翻译成20多种语言。他编写的书籍包括:Wiley/WROX出版的Expert One-On-One Visual Basic 2005Database Programming, SAMS出版的3个版本的Database Developer's Guide to l/is ual Basic,SAMS出版的两个版本的Access Developer's Guide,QUE出版的11个版本的Special Edition Using Microsoft Access,QUE出版的两个版本的Special Edition Using Windows NT4.0Server。他还编写了多本面向开发者的书籍,内容涉及Windows 3.1多媒体、Windows 95、Windows 2000服务器、活动目录组策略、Visual Basic Web服务以及微软Office InfoPath 2003SP-1等方面。Roger先生担任Redmond媒体研究组织的Visual Studio Magazine杂志及其前身Visual Basic Programmer’s Journal的特约编辑已经长达15年。他也在Redmond Magazine上发表文章,并且负责Tech Briefs专栏以及Redmond Developer News的封首语的写作。 Roger先生有长达30年的计算机相关领域经验,他最初从事开发由Wang 700型计算器和后继的Wang BASIC微计算机所驱动的实时中间数据获取和化学过程控制系统。他是Oak Leaf Systems公司(一家位于北加利福尼亚的软件顾问公司)的主要开创者,也是Oak Leaf Systems博客的作者。他的演示作品Oak Leaf Code of Federal Regulations(CFR)ASENET Web Service荣获微软最佳.NET横向解决方案奖。 目录 第Ⅰ部分 ADO.NET3.5概览 第1章 使用ADO.NET3.5提供的新方法访问数据 第Ⅱ部分 LINQ简介 第2章 理解LINQ的体系结构和实现 第3章 使用LINQ to Objects执行LINQ查询表达式 第4章 使用高级查询操作符和表达式 第Ⅲ部分 使用领域相关的LINQ实现 第5章 使用LINQ to SQL和Linq Data Source 第6章 使用LINQ to Data Set查询Data Table 第7章 使用LINOtoXML处理文档 第8章 探索第三方和新兴的LINO实现 第Ⅳ部分 ADO.NET实体框架介绍 第9章 使用实体数据模型提升数据抽象级别 第10章 定义存储层、概念层和映射层 第11章 Entity SQL简介 第Ⅴ部分 实现ADO.NET实体框架 第12章 利用对象服务和LINQ to Entities 第13章 更新实体和复杂类型 第14章 将实体绑定到数据感知控件 第15章 使用实体框架作为数据源

16,722

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧