Где ошибка?

Dmitry A.asas
Дата: 26.05.2006 00:07:59
Коллеги, помогите разобраться,
Нужно заполнить даталист, ошибок синтаксических в коде нет, запускается, но при заходе выдает ошибку. Вод код где происходит ошибка,
а сама ошибка ниже.
----------------------------------
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here
adptNTConfig = Cache("adptNTConfig")
dsNTConfig = Cache("dsNTConfig")
' Run the first time page is displayed.
If Not IsPostBack Then
' For each row in the table...
Dim rowNext As DsNTConfig.NT_ConfigRow
For Each rowNext In dsNTConfig.NT_Config
' Create a new list item.
Dim lstNew As New ListItem
lstNew.Text = rowNext.NTID & " with Run Number: " & rowNext.NT_run_nbr
lstNew.Value = rowNext.NTID
' Add the list item to the drop-down list.
drpRunNbr.Items.Add(lstNew)
Next
' Select the first item in the list.
drpRunNbr.SelectedIndex = 0
End If
------------------------------------------
А вот что гоорит браузер:

Server Error in '/Baikal_v1' Application.
--------------------------------------------------------------------------------

Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:


Line 56: ' For each row in the table...
Line 57: Dim rowNext As DsNTConfig.NT_ConfigRow
Line 58: For Each rowNext In dsNTConfig.NT_Config
Line 59: ' Create a new list item.
Line 60: Dim lstNew As New ListItem


Source File: c:\inetpub\wwwroot\Baikal_v1\Nt_config.aspx.vb Line: 58

Stack Trace:


[NullReferenceException: Object reference not set to an instance of an object.]
Baikal_v1.Nt_config.Page_Load(Object sender, EventArgs e) in c:\inetpub\wwwroot\Baikal_v1\Nt_config.aspx.vb:58
System.Web.UI.Control.OnLoad(EventArgs e)
System.Web.UI.Control.LoadRecursive()
System.Web.UI.Page.ProcessRequestMain()

---------------------------------------------------------------
gerss
Дата: 26.05.2006 11:32:56
Ну, судя по коду,

dsNTConfig = Cache("dsNTConfig")

дает значение dsNTConfig null. После этого попытка обращения к его проперте:

Dim rowNext As DsNTConfig.NT_ConfigRow

и выдает ошибку. Проверь, есть ли в кэше нужный объект, правильно ли он оттуда вычитывается.

Сергей

------------------
Умом Россию не понять...
С умом она несовместима.
Dmitry A.asas
Дата: 26.05.2006 12:48:08
gerss
Ну, судя по коду,

dsNTConfig = Cache("dsNTConfig")

дает значение dsNTConfig null. После этого попытка обращения к его проперте:

Dim rowNext As DsNTConfig.NT_ConfigRow

и выдает ошибку. Проверь, есть ли в кэше нужный объект, правильно ли он оттуда вычитывается.

Сергей

------------------
Умом Россию не понять...
С умом она несовместима.


Я не силен в программированиие, код я его писал по книжке, т.е. изменил название таблички и полей.
Как можно правильно заполнить dsNTConfig = Cache("dsNTConfig")
если есть табличка, которая называется NT_Config,
Коннект: SQLConnection1
Адаптер: SQLAdapter1
Datasource: DsNTConfig
gerss
Дата: 26.05.2006 15:00:33
Просто ты берешь dsNTConfig из кэша.
А есть ли он там? Где, как, кто его туда кладет? Может ты что-то не дописал из примера?

Сергей

------------------
Умом Россию не понять...
С умом она несовместима.
Dmitry A.asas
Дата: 26.05.2006 17:57:32
gerss
Просто ты берешь dsNTConfig из кэша.
А есть ли он там? Где, как, кто его туда кладет? Может ты что-то не дописал из примера?

Сергей

------------------
Умом Россию не понять...
С умом она несовместима.


Сергей, исходя из моей структуры (которую я выше привел), как заполнить кэш dsNTConfig?
Dmitry A.asas
Дата: 27.05.2006 01:37:54
тема закрыта, нашел доку.