Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Базы данных под .NET > Пара вопросов по БД


Автор: alir 14.2.2006, 21:19
1) В dataset записана таблица access, состоящая из большого числа столбцов и строк. Как проверить в одном столбце: находится ли данное текстовое значение среди строк этого столбца на C#?

2) Текстовое поле в access максимально может содержать 255 символов. А что если надо записать больше символов (а именно большое количество строк)? Создать еще одну таблицу, содержащую эти строки и относящуюся соответствующей ячейке? Если да, то как это делается?

Автор: Ch0bits 14.2.2006, 22:22
Цитата(alir @ 14.2.2006, 21:19 Найти цитируемый пост)
А что если надо записать больше символов (а именно большое количество строк)?

Используй тип MEMO.

Цитата(alir @ 14.2.2006, 21:19 Найти цитируемый пост)
Как проверить в одном столбце: находится ли данное текстовое значение среди строк этого столбца на C#?

Сделай запрос к базе
SELECT поле FROM таблица WHERE поле="строка";

Цитата(alir @ 14.2.2006, 21:19 Найти цитируемый пост)
Создать еще одну таблицу, содержащую эти строки и относящуюся соответствующей ячейке? Если да, то как это делается?

Тебе похоже надо SQL изучить.

Автор: Ch0bits 14.2.2006, 22:49
Кстати на форуме есть кое-что:
http://forum.vingrad.ru/index.php?showtopic=5638&view=all

Автор: alir 14.2.2006, 23:04
Цитата

Сделай запрос к базе
SELECT поле FROM таблица WHERE поле="строка";

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

Автор: Exception 15.2.2006, 00:46
Именно smile . Проверять на dataset.Tables["myTable"].Rows[0] == null.

Автор: alir 15.2.2006, 00:55
Exception
Не понял. Может кто полноценный код написать?

Автор: -ser- 15.2.2006, 04:03
что-то вроде этого
Код

            DataTable    dt    = dataSet.Tables[ 0 ];
            DataRow        dr;

            int            cnt = dt.Rows.Count;
            int         i   = 0;

            bool        b   = false;
            string      s;

            while( !b && ( i < cnt ) )
            {
                dr = dt.Rows[ i ];
                s = ( string )dr[ "ИнтересующийCтolбец" ];                                

                b = s.Contains( "СтрокаКоторуюМыИщем" );

                i++;
            }

            if( b )
            {
                // нашли то что искали в i-1 й строке
            }
            else
            {
                // не нашли
            }

взял, почитал бы что-нить. жалко время тратить на никому не нужные школьные домашние заданияsmile


Автор: mr.DUDA 15.2.2006, 08:46
Проще:

Код

DataRow[] rows = dataSet.Tables["Заказы"].Select ("ИнтересующийСтолбец LIKE '*" + строка_которую_ищем + "*' ");
if(rows.Length > 0)
{
      // ...
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)