asp.net 提交答案并显示分数的问题,这是哪里错了啊???

来源:百度知道 编辑:UC知道 时间:2024/09/24 02:16:42
Sub Page_Load(Sender As Object,E As EventArgs)

Dim conn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\TEXE\database.mdb")
Dim cmd As New OleDbCommand("select * from xml",conn)
conn.Open()
Dim dr As OleDbDataReader=cmd.Executereader()
Do While dr.Read()
Dim sum As Long
sum=0
If answer.SelectedItem.Value=dr.item("rianswer") then
sum=sum+25
End If
Loop
message.text="你的成绩是:" & sum
conn.Close()
End Sub
这是哪里错了啊??说是Name 'sum' is not declared,要怎么改啊?高手们看一下啊···
我改了,可还是错的哦,他说System.NullReferenceException: Object reference not set to an instance of an object,什么意思啊??

将这三行
Do While dr.Read()
Dim sum As Long
sum=0
换成这三行
Dim sum As Long
sum=0
Do While dr.Read()
你的sum应定义在while循环外面

“System.NullReferenceException: 未将对象引用设置到对象的实例”问题可能原因如下:
1、ViewState 对象为Null。
2、DateSet 空。
3、sql语句或Datebase的原因导致DataReader空。
4、声明字符串变量时未赋空值就应用变量。
5、未用new初始化对象。
6、Session对象为空。
7、对控件赋文本值时,值不存在。
8、使用Request.QueryString()时,所获取的对象不存在,或在值为空时未赋初始值。
9、使用FindControl时,控件不存在却没有做预处理。
10、重复定义造成未将对象引用设置到对象的实例错误.

Name 'sum' is not declared,说的你的sum没有定义~`
Dim sum As Long 这里定义的sum是在Do While循环里面,出了循环那的作用域就不存在了,你只要把Dim sum As Long 放在Do While循环后面即可;

VB 的看的不是很清楚

未将对象引用设置到对象实例,在某个地方使用了空对象,
检查
answer.SelectedItem.Value
message.text
等等是不是有空,如answer未选等