Метод загрузки окна форм Windows не завершается - PullRequest
0 голосов
/ 12 октября 2010

Итак, в моем методе onLoad окна я предварительно заполняю сетку значениями, полученными из базы данных. Вот метод ниже для загрузки окна:

Private Sub winMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ''#Load Grid
        Dim dt As New DataTable
        With dt
            .Columns.Add("Name")
            .Columns.Add("Frequency")
            .Columns.Add("Percent Spent")
            .Columns.Add("Started")
            .Columns.Add("Ends")
        End With

        Dim Budgets As New List(Of BudgetManager.DTO.Budget)
        Budgets = BudgetManager.Process.Budget.GetAllBudgets()

        Dim values(5) As String
        For Each budget In Budgets
            values(0) = budget.Name
            values(1) = BudgetManager.Lookup.GetLookupTextById(budget.FrequencyId)
            Dim total As Double = 0.0
            Dim spent As Double = 0.0
            For Each category In budget.Categories
                total += category.Amount
                spent += category.Spent
            Next
            values(2) = FormatPercent(spent / total)
            values(3) = budget.StartDate.ToString
            values(4) = budget.EndDate.ToString

            dt.Rows.Add(values)
        Next

        gridBudget.DataSource = dt
    End Sub

Что происходит, когда я нажимаю F5 для отладки, программа загружается, и сетка все еще пуста, так же, как и без источника данных. Когда я пытаюсь пройтись по коду, он на самом деле достигает строки, которая читает

Budgets = BudgetManager.Process.Budget.GetAllBudgets()

, а затем переступаем через эту строку ... окно загружается, и в этом методе больше ничего не происходит. То, что делает приведенная выше строка кода, в конце концов вызывает запрос выполнения некоторого SQL к базе данных SQLite, и код достигает точки, в которой он вызывает метод execute, но даже не выполняет запрос. Все объекты до этого момента в коде также установлены правильно (обнаруживаются путем отладки и проверки локальных объектов.)

Что может происходить?

Edit:

Исключение составляет следующее:

"Сборка смешанного режима построена на версии v2.0.50727 среды выполнения и не может быть загружена в среде выполнения 4.0 без дополнительной информации о конфигурации.

Что, черт возьми, это значит? Ha

Ответы [ 2 ]

0 голосов
/ 12 октября 2010

Если вы вручную добавили имена столбцов в Datagrid в режиме разработки, то убедитесь, что имена полей совпадают с именами, возвращаемыми из БД, в этом случае ваши данные.

Вы также можете попробовать связатьсписок напрямую

gridBudget.DataSource = BudgetManager.Process.Budget.GetAllBudgets(Of BudgetManager.DTO.Budget)()
0 голосов
/ 12 октября 2010

Наилучшее предположение: ваш метод выполнения sqllite завершился неудачно, и у вас есть глобальный обработчик исключений, который ест ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...