急死了!!!!大家帮帮忙!!!我自定义了一个过程,但是调用得时候,出现下面得错误,大家帮我看看哟!!!

yqyzzy 2004-08-26 07:31:39
错误!!!


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

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

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

源错误:


行 62: Dim i As Integer
行 63: i = 0
行 64: cmdoledb.Connection.Open()
行 65: cmdoledb.CommandText = "select top 1 fatherid from [class] where classname='" & str1 & "'"
行 66: i = Convert.ToInt32(cmdoledb.ExecuteScalar())


源文件: D:\zyweb\wenzhang\addclass.aspx.vb 行: 64



源代码:

Sub addclass(ByVal sender As Object, ByVal e As EventArgs)
Dim str, str1, sql As String

Dim cnn As New conn
cnn.con3.Open()
If DropDownList1.SelectedValue = "" Then
str = TextBox1.Text
sql = "insert into class (classname,fatherid) values(' " & str & "','" & 0 & "')"
Dim adapter As New OleDbCommand(sql, cnn.con3)
adapter.ExecuteNonQuery()
Else
str = TextBox2.Text
str1 = DropDownList1.SelectedValue
Dim cmdoledb As New OleDbCommand
Dim i As Integer
i = 0
cmdoledb.Connection.Open()
cmdoledb.CommandText = "select top 1 fatherid from [class] where classname='" & str1 & "'"
i = Convert.ToInt32(cmdoledb.ExecuteScalar())
sql = "insert into [class] (classname,fatherid) values('" & str & "','" & i & "')"
Dim cmdoledb1 As New OleDbCommand(sql, cnn.con3)
cmdoledb1.ExecuteNonQuery()
End If
End Sub
...全文
121 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
gxboy 2004-08-26
  • 打赏
  • 举报
回复
思老大你是在抢生意啊。
saucer 2004-08-26
  • 打赏
  • 举报
回复
where is your connection object???

dim cmdconn as New OleDbConnection("YourConnectionStringHere")

Dim cmdoledb As New OleDbCommand

cmdoledb.COnnection = cmdconn


or

Dim cmdoledb As New OleDbCommand
cmdoledb.Connection = cnn.con3


yqyzzy 2004-08-26
  • 打赏
  • 举报
回复
自己顶一下!
wd_318 2004-08-26
  • 打赏
  • 举报
回复
Dim cmdoledb As New OleDbCommand
Dim i As Integer
i = 0
cmdoledb.Connection.Open()
cmdoledb.CommandText = "select top 1 fatherid from [class] where classname='" & str1 & "'"
i = Convert.ToInt32(cmdoledb.ExecuteScalar())

'同意 guanvee(答对就给分)
你没有指定cmdoledb的connection对象
derny 2004-08-26
  • 打赏
  • 举报
回复
行 64: cmdoledb.Connection.Open()
肯定就是cmdoledb为null!
你跟踪调试看看cmdoledb的值是多少
VB我不是很熟。。。
wd_318 2004-08-26
  • 打赏
  • 举报
回复
Dim obj as Object =cmdoledb.ExecuteScalar()
if(null = obj)
'没有结果
else
i = Convert.ToInt32(obj)

不用VB。NET,不知道if else 是不是有问题,自己改一下
wd_318 2004-08-26
  • 打赏
  • 举报
回复
2004-08-26 18:50:53 浪花
IT人,你的查询没有结果嘛,上次已经和你说过,要检查返回结果是否为NULL


2004-08-26 18:51:55 浪花
如果结果是NULL,
Convert.ToInt32()可能会出错的
cnhgj 2004-08-26
  • 打赏
  • 举报
回复
cmdoledb = new OleDbCommand()??
yqyzzy 2004-08-26
  • 打赏
  • 举报
回复
str1 = DropDownList1.SelectedValue
bitsbird 2004-08-26
  • 打赏
  • 举报
回复
str1 是什么?
derny 2004-08-26
  • 打赏
  • 举报
回复
Dim cmdoledb As New OleDbCommand //cmdoledb 还没赋值怎么就用咯?
Dim i As Integer
i = 0
cmdoledb.Connection.Open()
yqyzzy 2004-08-26
  • 打赏
  • 举报
回复
对,我也是这样想得,可以把代码写出来看看嘛!!!
guanvee 2004-08-26
  • 打赏
  • 举报
回复
你好像没有指定cmdoledb的connection对象吧

62,052

社区成员

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

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

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

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