Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Удаление Expression из столбца / 6 сообщений из 6, страница 1 из 1
07.02.2006, 12:17
    #33528236
Boa
Boa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление Expression из столбца
Создал табличку, в ней несколько вычисляемых полей.

Когда все эти поля вычислены уже, хочу, чтоб в этих полях остались только значения, чтоб их можно было уже изменять.
Делаю так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Private Sub itc_RemoveExpr(ByRef Table As DataTable)
    Dim NewTable As DataTable = Table.Copy
    Dim Row As DataRow
    Dim Col As DataColumn
    Dim AllCols As DataColumnCollection
    Table.Clear()
    For Each Col In Table.Columns
        If Col.Expression <> "" Then
            Col.Expression = ""
            Col.ReadOnly = False
        End If
    Next       
    For Each Row In NewTable.Rows
        Table.ImportRow(Row)
    Next
End Sub

Затем она ругается
Object reference not set to an instance of an object.
на строчках
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
if Not Convert.IsDBNull(PRow("Cost")) Then
    If Convert.IsDBNull(NewRow("Cost")) Then
        NewRow("Cost") = PRow("Cost")
     Else
         NewRow("Cost") +=  1  ' Здесь ругается
     End If
End If

Как же правильно то сделать?
...
Рейтинг: 0 / 0
07.02.2006, 15:29
    #33528985
saint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление Expression из столбца
поясните второй кусок что такое Prow и NewRow?

DBNull это не тоже самое что и null
...
Рейтинг: 0 / 0
08.02.2006, 15:36
    #33531787
Boa
Boa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление Expression из столбца
Prow и NewRow - это строчки этой таблицы.
Поле Cost было вычисляемым, Expression стер, и тут делаю итог для этого поля.
Значение поля может быть Null, поэтому такие проверки.
Сейчас пока вышел из положения, путем удаления столбца и потом создаю новый.
Но тогда их порядок меняется...
...
Рейтинг: 0 / 0
08.02.2006, 16:40
    #33532042
saint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление Expression из столбца
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
if Not Convert.IsDBNull(PRow("Cost")) Then
  if NewRow("Cost")<>null Then begin
    If Convert.IsDBNull(NewRow("Cost")) Then
        NewRow("Cost") = PRow("Cost")
     Else
         NewRow("Cost") +=  1  ' Здесь ругается
     End If
   end
   else NewRow("Cost") =  1  end if
End If

?
...
Рейтинг: 0 / 0
08.02.2006, 16:44
    #33532056
saint
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление Expression из столбца
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
if Not Convert.IsDBNull(PRow("Cost")) Then
  if NewRow("Cost")<>null Then begin
    If Convert.IsDBNull(NewRow("Cost")) Then
        NewRow("Cost") = PRow("Cost")
     Else
         NewRow("Cost") +=  1  ' Здесь ругается
     End If
   end
   else NewRow("Cost") = PRow("Cost") end if
End If

ну или так
...
Рейтинг: 0 / 0
09.02.2006, 10:47
    #33533243
Boa
Boa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Удаление Expression из столбца
Так проблема в том, что столбец cost существует.
Он был с Expression, которую я удалил.
И теперь хочу в этом столбце данные изменить руками.
В дебагере ItemArray для строки показывает все поля, Convert.IsDBNull с этим полем отрабатывает хорошо.
Но как только хочу в это поле записать значение - то ошибка.
Вопрос в том, как изменить процедуру удаления Expression из столбца.
Как писал выше, пока что просто удаляю такой столбец и добавляю новый с таким же именем. Но при этом порядок столбцов меняется, что не есть хорошо.
Может быть тогда кто-нибудь подскажет, как порядок столбцов поменять?
Заранее спасибо.
...
Рейтинг: 0 / 0
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / Удаление Expression из столбца / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]