как использовать внутреннее соединение.я продолжал получать ошибку - PullRequest
0 голосов
/ 18 июня 2019

Я набираю запрос для моего фильтра, запрос должен объединить 2 или 3 таблицы, чтобы я мог выполнить мой фильтр.когда я пытаюсь использовать внутреннее соединение, я получаю ошибку внутреннего соединения, не поддерживаемую.база данных, которую я использую - ms.access.Я предоставлю содержимое таблицы в комментариях.

я пробовал этот код, он работает, но для присвоения требуется внутреннее соединение

strSQL = "SELECT m.primaryTitle, m.startYear as startYear, m.genres as genres, r.averageRating as Rating FROM basic m, Rating r where m.tconst=r.tconst AND (" & fieldselect & " LIKE '%" & TextBox1.Text & "%')"

Select Case ComboBox1.Text
            Case "year"
                fieldselect = "startYear"
            Case "genre"
                fieldselect = "genres"
            Case "rating"
                fieldselect = "averageRating"
        End Select

        conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Movies.accdb; Persist Security Info=False;")

        strSQL = "SELECT m.primaryTitle, m.startYear as startYear, m.genres as genres, r.averageRating as Rating FROM basic m INNER join Rating r on m.tconst=r.tconst (" & fieldselect & " LIKE '%" & TextBox1.Text & "%')"

        conn.Open()
        da = New OleDbDataAdapter(strSQL, conn)

        Dim ds As New DataSet("Movies")

        da.Fill(ds, "Movies")

        DataGridView1.DataSource = ds.Tables("Movies")
        conn.Close()

strSQL = "SELECT m.primaryTitle, m.startYear as startYear, m.genres as genres, r.averageRating as Rating FROM basic m, Rating r where m.tconst=r.tconst AND (" & fieldselect & " LIKE '%" & TextBox1.Text & "%')"

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

1 Ответ

0 голосов
/ 18 июня 2019

Попробуйте это:

    Dim da as oledbdataadapter = new oledbdataadapter ("Select column_name from table A inner join table B on A.column_name = B.column_name WHERE column_name = '" & combobox.text & "'",oledbconnection) 
    dim dt as datatable = new datatable
    da.fill(dt)
    datagridview.datasource = dt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...