Строка VB.net содержит ссылку на DataTable.Column - PullRequest
0 голосов
/ 08 ноября 2011

Я использую VB.NET и ADO 4.0.Учитывая, что у меня есть строка, содержащая ссылку на table.column, могу ли я использовать содержимое строки в команде?

Вот пример кода, который я пытаюсь использовать:

intStatus = 1
strName = "tablename.columnname" & intStatus

'here I would need to have:
tablename.columnname1 
'so I can perform following line
tablename.columnname1 = strValue

/////////////////////////////////////////////////////

Я дошел до того, что я могу использовать содержимое строки в качестве «ссылки», это казалось очевидным, но [strName] делает свое дело частично ... Когда я отлаживаю bookableday.room1 остается 0, в то время как он должен показывать 6. Возможно, проблема с конвертацией, потому что отладчик показывает мне «6» iso 6.это фактический код:

Do While intStatus < 14
                    If arrRoomStatus(intStatus) = True Then
                        strName = "bookableday.room" & intStatus
                        [strName] = 6
                        Bookableday.av_avail_id = intAv_avail_id
                        Bookableday.Av_Date = dteAddDate
                        dteAddDate = dteAddDate.AddDays(1)
                        intStatus = intStatus + 1
                        intAv_avail_id = intAv_avail_id + 1
                    Else
                        strName = "bookableday.room" & intStatus
                        [strName] = 5
                        Bookableday.av_avail_id = intAv_avail_id
                        Bookableday.Av_Date = dteAddDate
                        dteAddDate = dteAddDate.AddDays(1)
                        intStatus = intStatus + 1
                        intAv_avail_id = intAv_avail_id + 1
                    End If

1 Ответ

0 голосов
/ 09 ноября 2011

Я думаю, все, что вы пытаетесь сделать, это:

tablename.Rows(index)(ColumnName) = value

Вы можете ссылаться на столбец по имени столбца, а не только по позиции индекса.

Попробуйте обратиться к DataTable по текущей строке и имени вашего столбца, например:

'// strName = "bookableday.room" & intStatus
strName = "room" & intStatus
If arrRoomStatus(intStatus) = True Then
  Bookableday(rowIndex)(strName) = 6
Else
  Bookableday(rowIndex)(strName) = 5
End If
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...