VB_newbie11 Ответов: 1

Прочитайте первый столбец gridview и запустите select query.


Я должен импортировать excel и прочитать первый столбец excel и поиск.

Я успешно импортировал данные и теперь пытаюсь прочитать первую колонку.


мой gridview:
---------
Chair_id
---------
chair01
chair02
chair03

Затем мне нужно запустить запрос на основе моего chair_id
Результат
--------------------------------------------
Chair_Id | цвет стула | вес стула (кг)
--------------------------------------------
chair01 | red | 12.2
chair01 | красный | 12.3
chair02 | red | 1.2
стул 02 | синий | 1.11
стул 03 | желтый | 1.0

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

 Dim connString As String = ""
                Dim strFileType As String = Path.GetExtension(FileUpload1.FileName).ToLower()
                Dim path__1 As String = FileUpload1.PostedFile.FileName
                'Connection String to Excel Workbook
                If strFileType.Trim() = ".xls" Then
                    connString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & path__1 & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=2"""
                ElseIf strFileType.Trim() = ".xlsx" Then
                    connString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & path__1 & ";Extended Properties=""Excel 12.0;HDR=Yes;IMEX=2"""
                End If

                Dim ds As New DataSet
                ds.Tables.Add("M_DATAEXCEL")
                Dim dtexcel As New DataTable
                Dim query As String = "SELECT [chair_id] FROM [Sheet1$]"
                Dim conn As New OleDbConnection(connString)
                If conn.State = ConnectionState.Closed Then
                    conn.Open()
                End If
                Dim cmd As New OleDbCommand(query, conn)
                Dim da As New OleDbDataAdapter(cmd)
                'Dim ds As New DataSet()
                da.Fill(ds.Tables("M_DATAEXCEL"))
                dtexcel = ds.Tables("M_DATAEXCEL")
                GridView1.DataSource = ds.Tables("M_DATAEXCEL")
                GridView1.DataBind()
                da.Dispose()
                conn.Close()
                conn.Dispose()
 
                For i As Integer = 0 To dtexcel.Rows.Count - 1

.
.
.
.
.
       i'm stuck what to do next. T__T

OriginalGriff

И что же?
А что вы пробовали?
Где ты застрял?
Какая помощь вам нужна?

VB_newbie11

я застрял на извлечении/чтении колонки. я пробовал dt.row(i)(chair_id), но он его не читает.

1 Ответов

Рейтинг:
7

OriginalGriff

Цитата:
я застрял на извлечении/чтении колонки. я пробовал dt.row(i)(chair_id), но он его не читает.

Так почему бы и нет:
0) используйте фактическое имя DataTable в вашем цикле вместо "dt": dtexcel
1) используйте правильное свойство DataTable: Rows, а не row
2) Используйте имя столбца в виде строки вместо имени переменной

Dim row as DataRow = dtexcel.Rows(i)
Dim value = row("Char_Id")