"未将对象引用设置到对象的实例"

galiton 2007-05-23 11:34:54
在一个类中取web.config内的值的时候,提示"未将对象引用设置到对象的实例",请问如何解决,谢谢.



web.config 中代码如下:

-------------------------------------------------------------------------
configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings>
<!--注释:数据库连接字串-->
<add key="Datebase" value="contract.mdb" />
</appSettings>
--------------------------------------------------------------------------

在类中引用该值,代码如下:

------------------------------------------------------------------------
Imports Microsoft.VisualBasic
Imports System
Imports System.Web
Imports System.Configuration
Imports System.Data
Imports System.Data.OleDB

Namespace WJCclass

Public Class FindRecord

Public Function getMaxId() As Integer

Dim mDatabase As String
mDatabase = System.Configuration.ConfigurationManager.AppSettings("Database").ToString()
'Dim mDatabase As String = "contract.mdb"

Dim conDB As OleDbConnection
Dim selectDB As OleDbCommand
Dim MaxId As Integer

Dim mDBName As String = System.Web.HttpContext.Current.Server.MapPath(mDatabase)

conDB = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0; DATA Source=" + mDBName)
conDB.Open()
selectDB = New OleDbCommand("select iif(max(BranchID) is null,0,max(BranchID)) from branch ", conDB)
MaxId = selectDB.ExecuteScalar()
If MaxId = 0 Then
MaxId = 1
Else
MaxId = MaxId + 1
End If
conDB.Close()
Return MaxId
End Function

End Class
End Namespace
------------------------------------------------------------------------
...全文
207 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
jxw620 2010-05-13
  • 打赏
  • 举报
回复
楼主说话不算话啊 都结贴了啊
MaWenkun 2007-05-23
  • 打赏
  • 举报
回复
字打错了
galiton 2007-05-23
  • 打赏
  • 举报
回复
我知道了,结完帖子就去跳楼。

add key="Datebase 拼错了。
shadow841112 2007-05-23
  • 打赏
  • 举报
回复
web.config
Datebase -> Database
galiton 2007-05-23
  • 打赏
  • 举报
回复
报错信息如下;

“/contract”应用程序中的服务器错误。
--------------------------------------------------------------------------------

未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 12: Public Function getMaxId() As Integer
行 13:
行 14: Dim mDatabase As String = System.Configuration.ConfigurationManager.AppSettings("Database").ToString()
行 15: 'Dim mDatabase As String = "contract.mdb"
行 16:


源文件: E:\mode\contract\App_Code\Class1.vb 行: 14
galiton 2007-05-23
  • 打赏
  • 举报
回复
应该是用 AppSettings("Database"),用方括号就报错"BC30203: 应为标识符".

数据库是同一目录下的,类文件放在APP_CODE目录下.

大家注意类文件里面有这么一个注释行.
'Dim mDatabase As String = "contract.mdb"
如果用这个就是对的,应该是没有取到web.config里面相应值吧?
BearRui 2007-05-23
  • 打赏
  • 举报
回复
那句出错啦?
shadow841112 2007-05-23
  • 打赏
  • 举报
回复
System.Configuration.ConfigurationManager.AppSettings("Database").ToString()

AppSettings是属性不是方法

System.Configuration.ConfigurationManager.AppSettings["Database"].ToString()

不懂VB是不是也应该这样~
Qim 2007-05-23
  • 打赏
  • 举报
回复
放在同目录下了?

62,266

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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