Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Запрос, ввод с клавиатуры 
V
    Опции темы
kuller
Дата 26.4.2008, 17:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Привет всем. Вобщем у меня такая проблема ... 
у меня есть БД сделанная в ACCESSе ну подключил я ее к С шарпу ... сделал связи все как надо ... суммирующий запросик сделал .. ну вот застрял на запросе в котором надо вывести из таблицы на экран ту информацию которая удовлетворяет условию ... то по чему искать (в данном случае фамилия ) я должен ввести с клавиатуры ... 
Подскажите как это сделать немогу разобраться с этим запросом. Заранее огромное спасибо)
PM MAIL   Вверх
Drabuna
Дата 26.4.2008, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дивелоперчег
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 27.3.2008
Где: Киев

Репутация: нет
Всего: 3



Сделай допустим текстбокс , и в CommandText напиши:

"Select * From BlaBlaBla Where Familiya="+textbox.text.tostring();

Будешь в текстбокс вводить фамилию и выбирать.
PM MAIL   Вверх
kuller
Дата 26.4.2008, 22:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Можно по подробней про составление запроса .. я в это не сильно понимаю
PM MAIL   Вверх
Drabuna
Дата 26.4.2008, 23:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дивелоперчег
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 27.3.2008
Где: Киев

Репутация: нет
Всего: 3



Чтобы получить какие то данные из базы данных и вывести на экран, тебе нужны DataAdapter, DataTable, ну и как правило выводят данные в DataGridView.

Выносишь на форму елемент из тулбокса с именем DataGridView.
Дописываеш в программе код:
Код

using System.Data.OleDb;

если ты работаешь с акссесом.

Далее создаем адаптер и таблицу:
Код

        OleDbDataAdapter myDataAdapter = new OleDbDataAdapter("", "ТЕКСТ СТРОКИ ПОДКЛЮЧЕНИЯ ищи на connectionstrings.com/ ");
        DataTable myDataTable = new DataTable();


Текст команды, это запрос на языке SQL, типа того который я показывал. 
Теперь допустим ты на нажатие кнопки привязываешь следующее действие:

Код

myDataAdapter.SelectCommand.CommandText = "Select * From BlaBlaBla Where Familiya="+textbox.text.tostring();
//Установит комманду на выборку, в зависимости от текста текстбокса.

myDataAdapter.Fill(myDataTable); //Подключится к бд, выполнит команду, и заполнит данными нашу таблицу
 dataGridView1.DataSource = myDataTable; //Привяжет нашу таблицу к контролу, и выведет все данные из неё.




PM MAIL   Вверх
kuller
Дата 27.4.2008, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Спасибо буду пробывать)

Добавлено через 14 минут и 19 секунд
Я вот такое сделал:

Код

OleDbConnection con = new OleDbConnection();
            con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + @"Poseshaemost.mdb";
            con.Open();
            DataTable myDataTable = new DataTable();
            dataTable1TableAdapter.SelectCommand.CommandText = "SELECT * FROM Poseshaemost WHERE NomerZachetki=" + Convert.ToInt32(textBox1);
            dataTable1TableAdapter.Fill(myDataTable);
            dataGridView2.DataSource=myDataTable;
            con.Close();


но он теперь дико ругается 
1. 'BDpos.PoseshaemostDataSetTableAdapters.DataTable1TableAdapter' does not contain a definition for 'SelectCommand'
2. The best overloaded method match for 'BDpos.PoseshaemostDataSetTableAdapters.DataTable1TableAdapter.Fill(BDpos.PoseshaemostDataSet.DataTable1DataTable)' has some invalid arguments    
3. Argument '1': cannot convert from 'System.Data.DataTable' to 'BDpos.PoseshaemostDataSet.DataTable1DataTable'    
PM MAIL   Вверх
Drabuna
Дата 27.4.2008, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дивелоперчег
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 27.3.2008
Где: Киев

Репутация: нет
Всего: 3



Если у тебя в проекте уже есть схема данных, то к DataAdapter-у который находится в схеме, ты обращаешься немного иначе:

Код

dataTable1TableAdapter.Adapter.SelectCommand.CommandText = "SELECT * FROM Poseshaemost WHERE NomerZachetki=" + Convert.ToInt32(textBox1);
dataTable1TableAdapter.Adapter.Fill(myDataTable);
dataGridView2.DataSource=myDataTable;


Должно работать.
PM MAIL   Вверх
kuller
Дата 27.4.2008, 11:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



т.е. не нужно делать подключение к БД???
Код

OleDbConnection con = new OleDbConnection();
            con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + @"Poseshaemost.mdb";
            con.Open();

а просто сразу вот так:
Код

DataTable myDataTable = new DataTable();
dataTable1TableAdapter.SelectCommand.CommandText = "SELECT * FROM Poseshaemost WHERE NomerZachetki=" + Convert.ToInt32(textBox1);
            dataTable1TableAdapter.Fill(myDataTable);
            dataGridView2.DataSource=myDataTable;

PM MAIL   Вверх
Drabuna
Дата 27.4.2008, 11:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дивелоперчег
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 27.3.2008
Где: Киев

Репутация: нет
Всего: 3



Если ты визардом добавил в проект базу данных, то подключение тебе не надо делать.

И не так:
Код

DataTable myDataTable = new DataTable();
dataTable1TableAdapter.SelectCommand.CommandText = "SELECT * FROM Poseshaemost WHERE NomerZachetki=" + Convert.ToInt32(textBox1);
            dataTable1TableAdapter.Fill(myDataTable);
            dataGridView2.DataSource=myDataTable;

А так:
Код

DataTable myDataTable = new DataTable();
dataTable1TableAdapter.Adapter.SelectCommand.CommandText = "SELECT * FROM Poseshaemost WHERE NomerZachetki=" + Convert.ToInt32(textBox1);
            dataTable1TableAdapter.Adapter.Fill(myDataTable);
            dataGridView2.DataSource=myDataTable;

PM MAIL   Вверх
kuller
Дата 27.4.2008, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Я вот пишу вот так:
dataTable1TableAdapter. когда ставлю точку ни Adapter в том всплывающем списке не вижу 
также нету и вот такой команды .SelectCommand.CommandText  
Может я не все подключил .... я дополнительно подключал только using System.Data.OleDb;

PM MAIL   Вверх
Drabuna
Дата 27.4.2008, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Дивелоперчег
*


Профиль
Группа: Участник
Сообщений: 157
Регистрация: 27.3.2008
Где: Киев

Репутация: нет
Всего: 3



dataTable1TableAdapter это что? Ты его сам создаешь? Или он создался при использовании визарда?
PM MAIL   Вверх
kuller
Дата 27.4.2008, 11:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Ну вобщем надо сделать 2 запроса 
1-ый я сделал и вот когда я его делал вот тут PoseshaemostDataSet.xsd через Qerity Builder а ну он короче вот ........dataTable1TableAdapter ........... этоже по ходу он создался тогда когда я с помошью мастере составления запросов сделал 1 запрос СУММИРУЮщий и ГРУППИРУЮЩИЙ ... значит для этого запроса он мне не годиться ... Значит мне надо новый как то создать так ведь???? 
PM MAIL   Вверх
kuller
Дата 27.4.2008, 17:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 310
Регистрация: 15.11.2007

Репутация: нет
Всего: нет



Все всем спасибо я нашел выход из этой ситуации нпо другому)))
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




[ Время генерации скрипта: 0.0819 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.