Как использовать C # для разбора глоссария в базу данных? - PullRequest
1 голос
/ 26 марта 2010

Это должно быть просто, но я новичок в C #.

С учетом списка глоссариев в следующем формате:

aptitude  
ability, skill, gift, talent

aqueous  
watery

arguably  
maybe, perhaps, possibly, could be

Как мне разобрать это и вставить в таблицу базы данных в формате:

TABLE: Term_Glossary
================================================
Term_Name  | Term_Definition                   |
================================================
aptitude   | ability, skill, gift, talent      |
------------------------------------------------
aqueous    | watery                            |
------------------------------------------------
arguably   | maybe, perhaps, possibly, could be|
================================================

Любая помощь будет оценена - спасибо.

Обновление Я понимаю, что структура базы данных проста / неэффективна - но на самом деле смысл моего вопроса в том, что код для разбора тип текста, найденный в первом примере с использованием C #. Спасибо.

Ответы [ 2 ]

3 голосов
/ 26 марта 2010

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

===========================================
Term_ID     | Term_Name                   |
===========================================
1           | aptitude                    |
2           | aqueous                     |
3           | arguably                    |
===========================================

===============================================
Definition_ID  | Term_ID   | Definition_Name  |
===============================================
1              | 1         | ability          |
2              | 1         | skill            |
3              | 1         | gift             |
4              | 1         | talent           |
5              | 2         | watery           |
6              | 3         | maybe            |
7              | etc.etc.etc

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

1 голос
/ 26 марта 2010

Мне кажется, что вы прочитали бы первую строку, сохранили ее в переменной, прочитали вторую строку, сохранили ее во второй переменной, а затем вставили в таблицу, где Term_Name = первая переменная и Term_Definition = вторая переменная.

Итак, ваша логика будет такой:

StreamReader SR;
string Term_Name;
string Term_Definition

SR = File.OpenText(filename);
Term_Name = SR.ReadLine();
while(Term_Name != null)
{
    Term_Definition = SR.ReadLine();
    // make your database call here to insert with these two variables.  I don't know what DB you are using.
    Term_Name = SR.ReadLine();
}
SR.Close();
...