Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
Zang
-2 / 0 / 0
Регистрация: 29.08.2011
Сообщений: 65
1

Неполный поиск MySQL и C#

12.07.2012, 05:09. Просмотров 1585. Ответов 17
Метки нет (Все метки)

народ такая вот проблема... раньше я мускулом не пользовался и состовлял запросы в самом визуал стади... И запрос по поиску неполного значения имел следующий вид WHERE city like @city +"%" и все выполнялось... но с мускулом такое не канает =( как сделать подскажите пожалуйста... и если писать надо ручками в самом коде приложения... то как должно выглядеть все? как отображать найденные значения на форме подскажите пожалуйста
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2012, 05:09
Ответы с готовыми решениями:

Поиск значения по ДБ Mysql
Добрый вечер всем. Вообщем. Есть у меня дб в которой есть таблица accounts;...

Поиск данных в БД MySql и NullReferenceException
Здравствуйте! выполняю поиск в базе данных через текст бокс и кнопочку =) Вот...

MySQL: осуществить поиск по базе
Всем привет Возникла необходимость написать защиту, в этот раз хочу сделать ее...

C# SerialPort Неполный прием сообщений
Добрый день. Долго искал решение своей проблемы, но поиски оказались тщетны. ...

Excel как выбрать неполный Range
Есть цикл foreach, который проходится по всем рабочим ячейкам. Как мне начать...

17
turbanoff
Эксперт Java
4024 / 3759 / 742
Регистрация: 18.05.2010
Сообщений: 9,330
Записей в блоге: 11
Завершенные тесты: 1
12.07.2012, 06:36 2
Слишком много для одной темы/поста.
Читайте книжки, почти в каждой книжке по C# есть раздел про работу с базами данных.
0
Zang
-2 / 0 / 0
Регистрация: 29.08.2011
Сообщений: 65
12.07.2012, 06:38  [ТС] 3
Цитата Сообщение от turbanoff Посмотреть сообщение
Слишком много для одной темы/поста.
Читайте книжки, почти в каждой книжке по C# есть раздел про работу с базами данных.
мне хотябы узнать как выводить данные на датагрид после нажатия на кнопку поиск
0
gitarillo
729 / 529 / 46
Регистрация: 17.06.2010
Сообщений: 1,033
Записей в блоге: 1
12.07.2012, 09:33 4
Если проблема именно в запросе, а не в самом механизме работы с СУБД, то
MySQL
1
.....WHERE city LIKE '%частьстроки%'
0
Zang
-2 / 0 / 0
Регистрация: 29.08.2011
Сообщений: 65
12.07.2012, 10:43  [ТС] 5
Цитата Сообщение от gitarillo Посмотреть сообщение
Если проблема именно в запросе, а не в самом механизме работы с СУБД, то
MySQL
1
.....WHERE city LIKE '%частьстроки%'
так это я как понял прописывать в самом коде... так как построитель запросов это не кушает...

where city LIKE '%@city%' ругается на синтаксис... а чтобы в код завпихать его строчка будет такая

commandtextx.text = "where city LIKE '%' + textbox.text + '%';" как то так... вот если через это делать надо чтобы в гриде отображался мой поиск... не могу понять как....
0
gitarillo
729 / 529 / 46
Регистрация: 17.06.2010
Сообщений: 1,033
Записей в блоге: 1
12.07.2012, 10:52 6
Цитата Сообщение от Zang Посмотреть сообщение
не могу понять как....
Нужен коннектор MySql на net. C помощью библиотеки работаешь с базой. Примеров на форуме масса.
0
Zang
-2 / 0 / 0
Регистрация: 29.08.2011
Сообщений: 65
12.07.2012, 12:03  [ТС] 7
Цитата Сообщение от gitarillo Посмотреть сообщение
Нужен коннектор MySql на net. C помощью библиотеки работаешь с базой. Примеров на форуме масса.
хммм конектор все стоит база подкл к форме все отображает вот только поиск не производит по не полному значению вот трабла)
0
XIST
1122 / 834 / 116
Регистрация: 01.10.2009
Сообщений: 2,537
Записей в блоге: 1
12.07.2012, 12:18 8
рабочий запрос

vb.net
1
Dim adapter As New MySql.Data.MySqlClient.MySqlDataAdapter("select * from * where kto_sdel like '" & IB & "' order by *", Form1.Con)
0
Zang
-2 / 0 / 0
Регистрация: 29.08.2011
Сообщений: 65
13.07.2012, 06:46  [ТС] 9
Цитата Сообщение от DM_AND Посмотреть сообщение
рабочий запрос

vb.net
1
Dim adapter As New MySql.Data.MySqlClient.MySqlDataAdapter("select * from * where kto_sdel like '" & IB & "' order by *", Form1.Con)
мххх спасибо буду проверять )

Добавлено через 18 часов 24 минуты
C#
1
MySqlDataAdapter da = new MySqlDataAdapter("select id, city, company, FIO from main where city LIKE '%" + textBox3.Text + "%';", "Database=888_888;Data Source=88888;User Id=8888;Password=8888");
народ посмотрите это я сделал запрос на поиск по не полному верно? =)

если да то как дальше сделать чтобы результат поиска отображался в таблице...
0
gitarillo
729 / 529 / 46
Регистрация: 17.06.2010
Сообщений: 1,033
Записей в блоге: 1
13.07.2012, 10:45 10
Zang, DataTable, метод Fill у адаптера и свойство DataSource у датагрида.
0
Zang
-2 / 0 / 0
Регистрация: 29.08.2011
Сообщений: 65
13.07.2012, 10:46  [ТС] 11
C#
1
2
3
4
5
6
MySqlDataAdapter da = new MySqlDataAdapter("select id, city, company, fio from main where city LIKE '%" + Convert.ToString(textBox3.Text) + "%'", cn);
            DataSet ds = new DataSet();
            MySqlCommand sqlComand = new MySqlCommand("select id, city, company, fio from main where city LIKE '%" + textBox3.Text + "%';", cn);
            da.SelectCommand = sqlComand;
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
что то на подобие или я лузер и не то совсем сделал?
0
gitarillo
729 / 529 / 46
Регистрация: 17.06.2010
Сообщений: 1,033
Записей в блоге: 1
13.07.2012, 10:47 12
Zang, вроде верно
0
Zang
-2 / 0 / 0
Регистрация: 29.08.2011
Сообщений: 65
13.07.2012, 10:49  [ТС] 13
Цитата Сообщение от gitarillo Посмотреть сообщение
Zang, вроде верно
тогда вопрос... я вывожу поиск на другой грид отдельно созданный когда текстбокс пустой я нажимаю кнопку поиск и он выдает все данные с базы, но как только я вписываю значение по которому надо искать то он мне загружает пустую табл... только именна колонок видны и все..
0
gitarillo
729 / 529 / 46
Регистрация: 17.06.2010
Сообщений: 1,033
Записей в блоге: 1
13.07.2012, 11:08 14
создай функцию (метод) с типом данных DataTable. Вынеси запрос туда, и возвращай объект DataTable. Вызывай функцию в событии изменения TextBox и в нем присваивай свойство DataSource
vb.net
1
2
3
4
5
6
7
Function ResultQuery(partStr as string) as DataTable
............
return Объект DataTable
End Function
 Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nb_ TextBox1.TextChanged
Me.DataGridView1.DataSource=ResultQuery(TextBox1.text)
    End Sub
Примерно так
0
Zang
-2 / 0 / 0
Регистрация: 29.08.2011
Сообщений: 65
13.07.2012, 12:24  [ТС] 15
Цитата Сообщение от gitarillo Посмотреть сообщение
создай функцию (метод) с типом данных DataTable. Вынеси запрос туда, и возвращай объект DataTable. Вызывай функцию в событии изменения TextBox и в нем присваивай свойство DataSource
vb.net
1
2
3
4
5
6
7
Function ResultQuery(partStr as string) as DataTable
............
return Объект DataTable
End Function
 Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nb_ TextBox1.TextChanged
Me.DataGridView1.DataSource=ResultQuery(TextBox1.text)
    End Sub
Примерно так

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

Добавлено через 7 минут
C#
1
2
3
4
5
6
7
8
9
10
MySqlConnection cn;
            cn = new MySqlConnection("Database=888;Data Source=888;User Id=888;Password=888");
            cn.Open();
            DataSet ds = new DataSet();
            MySqlDataAdapter da = new MySqlDataAdapter("select id, city, company, fio from main", cn);
            MySqlCommand sqlComand = new MySqlCommand();
            sqlComand.CommandText = "select id, city, company, fio from main where city LIKE '%" + textBox3.Text + "%';";
            sqlComand.ExecuteReader();
            da.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
решил сделать так... добавил командтекст и экзикуте ридер все... при нажатие на поиск вылетает ошибка на экзикуте ридер мол типо сначала должно быть соединение с базой... но я cn.Open() прописал в чем может быть трабла оО

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

вот код который работает
C#
1
2
3
4
5
DataSet ds = new DataSet();
            DataTable dt = fr995_BaCRDataSet.main;
            MySqlDataAdapter sda = new MySqlDataAdapter("select email from main where email LIKE '% " + textBox3.Text + " %'", cn);
            sda.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
а вот код который не работает...
C#
1
2
3
4
5
DataSet ds = new DataSet();
            DataTable dt = fr995_BaCRDataSet.main;
            MySqlDataAdapter sda = new MySqlDataAdapter("select city from main where city LIKE '% " + textBox3.Text + " %'", cn);
            sda.Fill(ds);
            dataGridView1.DataSource = ds.Tables[0].DefaultView;
0
Zang
-2 / 0 / 0
Регистрация: 29.08.2011
Сообщений: 65
16.07.2012, 09:42  [ТС] 16
народ ну помогите кто ни будь все перерыл уже ничерта! =(
0
Learx
1046 / 853 / 194
Регистрация: 31.03.2010
Сообщений: 2,490
17.07.2012, 11:48 17
1. Вы уверены, что имя города хранится в столбце city?
2. Данный оператор РЕГИСТРОЗАВИСИМЫЙ!!!
3. Лучше сохранить всю таблицу в DataSet и при вводе в текстбокс делать фильтр таким способом:
C#
1
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter = "city LIKE '% " + textBox3.Text + " %'"
если так не будет работать - используйте глобальный DataTable или DataSet и выражение задавайте для него

З.Ы. подробнее про RowFilter
0
Zang
-2 / 0 / 0
Регистрация: 29.08.2011
Сообщений: 65
18.07.2012, 11:33  [ТС] 18
Цитата Сообщение от Learx Посмотреть сообщение
1. Вы уверены, что имя города хранится в столбце city?
2. Данный оператор РЕГИСТРОЗАВИСИМЫЙ!!!
3. Лучше сохранить всю таблицу в DataSet и при вводе в текстбокс делать фильтр таким способом:
C#
1
(dataGridView1.DataSource as DataTable).DefaultView.RowFilter = "city LIKE '% " + textBox3.Text + " %'"
если так не будет работать - используйте глобальный DataTable или DataSet и выражение задавайте для него

З.Ы. подробнее про RowFilter
спасибо буду разбираться! =)
0
18.07.2012, 11:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.07.2012, 11:33

Как данными с одного сервера MySql заполнить таблицу на другом MySql-сервере?
Господа форумчане, здравствуйте! Помогите разобраться - как данными с одного...

MySQL не могу достать join хотя он работает в Mysql
добрый день есть запрос join из нескольких строк. Копирую его вставляю в...

Поиск по Mysql
Такс, у меня есть массив с именами пользователей, есть база на мускуле с этими...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
18
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru