Saadbinata Ответов: 1

Управление представлением списка. Нуждаться в помощи


У меня есть тип кода и он показывает такую ошибку:

Rs. Fields(DS, "Register") "это область, где отображается ошибка"

Доступ к свойству должен присваиваться этому свойству или использоваться его значение.

Пожалуйста, уважаемые старшие, сделайте что-нибудь в этом отношении.

Что я уже пробовал:

Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click

       Dim DDR As ADODB.Recordset
       Dim DS As DataSet
       ListView1.View = View.Details
       ListView1.GridLines = True
       ConnectDatabase()
       DDR.Open("select * from Register", CON)

       Rs.Fields(DS, "Register")

       For i As Integer = 0 To DS.Tables(0).Columns.ToString.Count - 1
           ListView1.Columns.Add(DS.Tables(0).Columns(i).ColumnName.ToString())
       Next

       ListView1.Columns(0).Text = "Serial No."
       ListView1.Columns(1).Text = "Employee Name"
       ListView1.Columns(2).Text = "Father Name"
       ListView1.Columns(3).Text = "NIC No."
       ListView1.Columns(4).Text = "Tel. Phone No."
       ListView1.Columns(5).Text = "Address"
       ListView1.Columns(6).Text = "Designation"
       ListView1.Columns(7).Text = "Department"
       ListView1.Columns(8).Text = "Status"
       ListView1.Columns(9).Text = "Medical"
       ListView1.Columns(10).Text = "Graduity"
       ListView1.Columns(11).Text = "PFund"
       ListView1.Columns(12).Text = "Transport"
       ListView1.Columns(13).Text = "Employement Date"


       Dim ItemCol(100) As String

       For i As Integer = 0 To DS.Tables(0).Rows.Count - 1
           For j As Integer = 0 To DS.Tables(0).Columns.Count - 1
               ItemCol(j) = DS.Tables(0).Rows(i)(j).ToString()
           Next

           Dim livi As New ListViewItem(ItemCol)
           ListView1.Items.Add(livi)
       Next

   End Sub

Andy Lanng

Что такое 'Rs'?

Saadbinata

DIM Rs как новый Adodb. Recordset " Public Varialble"

Saadbinata

Публично определенный, потому что я использую его и в других местах

Richard MacCutchan

Сообщение совершенно ясно, ваше заявление (Rs.Fields(DS, "Register")) неполный.

Andy Lanng

Ну, первое, что я замечаю, это то, что документация для коллекции полей очень плохая :S

Из того, что я могу сказать, объект Fields - это базовая коллекция объектов Field. Я не вижу никакого документированного переопределения, которое могло бы принять два аргумента, поэтому я застрял.

С другой стороны, я выпускник C#, а не VB, так что, возможно, я что-то упустил.

Я мог бы предположить, что Rs.Fields(DataSet, String) - это селектор свойств, а не просто метод. Если это так, то вам придется найти документацию, специфичную для его использования :

К сожалению я больше ничем не могу вам помочь

Saadbinata

На самом деле я хочу использовать Rs. fill(DS, " Register")
но когда я набрал Rs. "в списке нет никакого элемента управления заполнением", поэтому я просто выбираю поле из данного списка.

Andy Lanng

а-попался. Думаю, у меня есть решение. Я сейчас же отправлю сообщение...

1 Ответов

Рейтинг:
0

Andy Lanng

Итак, с помощью комментариев мы обнаружили, что требование состоит в том, чтобы заполнить набор записей из данного набора данных. Метод, дающий ошибку, никогда не должен использоваться для этой цели, поэтому точное сообщение об ошибке не имеет отношения к проблеме.

Учитывая эту новую информацию я смог найти эту страницу:
преобразование набора данных в набор записей VB[^]

Что привело прямо сюда к этой статье:
Простой код, чтобы преобразовать ADO.NET объект DataTable в объект adodb.Записей[^]

Я быстро взглянул, и оказалось, что это именно то, что вы ищете.

NB: OP: в следующий раз попытайтесь описать свой предполагаемый результат в вопросе.
Попробуйте подумать в этом направлении:


  1. То, что я пытаюсь сделать
  2. Каким я ожидаю результат
  3. Что такое фактическое (неожиданное?) исход
  4. Что я уже пробовал
  5. Почему я застрял


Просто предложение ^_^