MySQL Выберите запрос с условием, используя список в VB.net - PullRequest
0 голосов
/ 16 января 2020

У меня есть таблица mysql с именем «table1» с 3 столбцами с именами «column1», «column2» и «column3», и у меня есть список с именем «list1». Я хочу выбрать все строки, где list1 содержит значение ячейки column2. Я попытался несколькими способами сделать строку запроса, но мне не удалось. Пожалуйста помоги. Я пробовал как

Dim mysqlconn = New MySqlConnection
    mysqlconn.ConnectionString = "server=localhost;user id=root;password=1234;database=Share"
    mysqlconn.Open()
    Dim adapter As New MySqlDataAdapter("SELECT * FROM table1 WHERE " & list1.Contains & "('" & column2 & "');", mysqlconn)
    Dim datatable As New DataTable()
    adapter.Fill(datatable)
    Dim cmd As New MySqlCommand
    cmd.Connection = mysqlconn

1 Ответ

1 голос
/ 17 января 2020

То, что вы почти сделали, но не совсем сделали, это использовали MySQL IN , чтобы увидеть, есть ли значение в списке.

Если столбец 2 является цифрой c ,

SELECT * FROM table1 WHERE column2 in (1,2,3);
"SELECT * FROM table1 WHERE column2 in (" & String.Concat(",", list1) & ");"

Если столбец 2 является текстом,

SELECT * FROM table1 WHERE column2 in ('1','2','3');
"SELECT * FROM table1 WHERE column2 in (" & String.Concat(",", list1.Select(Function(i) $"'{i}'").ToArray()) & ");"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...