none
Помогите с программой на C# (Закрепить за датой отпределённую фамилию..) как это сделать? RRS feed

  • Вопрос

  • Есть компонент dateTimePicker который отображает дату, делаю привязку фамилии к дате, но что-то не выходит.
    Например: 12 мая 2013 связать с фамилией Сидоров, а 13 мая 2013 связать уже с другой фамилией ,например, Иванова.

    И связать это с выводом в Access, как у меня получилось, через массивы.. чтобы при вставке в access напротив даты ставилась та фамилия, которую мы задали в программе.

    Дата берётся из файла, вот такой структуры:

    0 15Nov 19:20:11 поздравить
    0 13Nov 19:20:04 отправить
    0 10Nov 21:00:31 поздравить


    foreach (string line in System.IO.File.ReadLines(@"yourfile.txt")) { using (System.Data.OleDb.OleDbConnection con = new System.Data.OleDb.OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\your_database_name.mdb; User Id=admin; Password=;"))

    { using (System.Data.OleDb.OleDbCommand com = new System.Data.OleDb.OleDbCommand("", con)) { string[] arr = line.Split(" ".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); com.CommandText = string.Format("insert into yourtbl([firstCol],[secondCol],[thirdCol]) values('{0}','{1}','{2}')", arr[1], arr[2], arr[4]);

    con.Open();
    com.ExecuteNonQuery();

    А как реализовать возможность привязки к этой дате фамилии с выводом в access? Помогите пожалуйста.

Ответы

  • У Вас в БД должно быть 4 таблицы:

    Из файла заполняете таблицу events и справочник EventTypes.

    Делаете в программе GUI который заполняет таблицы users и userdate.

    В Access создаете представление и выводите его в грид на форме.

  • Код заполненея БД из файла у вас вроде уже был, надо немного его изменить. Для каждой строки вы сначала  проверять существет ли в таблице EventTypes данный ивент, если да то вы получаете его id если нет то вы создаете его и получаете его id. Потом добавляете запись в таблицу events с указанием полученного id. 

    C GUI вариантов очень много, например создаете текстовое поле с помощью которого добавляете пользоателя, и ListBox в котором можно выбрать существующего. Если что-то ввели в поле и нажали кнопку то вы вызываете запрос для добавления записи в таблицу users. Для выбора дат у вас на форме может быть DatePicker и если выбран пользователь и дата то вы добавляете запись в таблицу userdates. 

    Попробуйте разобраться и задать вопросы когда что-то конкретно не получится.

Все ответы

  • Александр, попробуйте сформулировать вопрос поточнее, в данный момент все очень сумбурно и просто не понятно в чем именно заключается проблема. 
  • Дата считывается из файла, вот такой структуры:

    0 15Nov 19:20:11 поздравить
    0 13Nov 19:20:04 отправить
    0 10Nov 21:00:31 поздравить

    Чтобы когда программа считывала дату с файла , то за датой закреплялась фамилия, которая будет вводиться в ходе работы программы (что-то вроде графика работы, когда за определённой датой закреплён один человек). И например если дат 15Nov много, то все они имели бы одну и ту же фамилию, которую указали в программе.

    После того как программа считала даты и присвоила им фамилии -->> загрузить полученный результат, используя экспорт в Access. Вот очень приближённо то, что хотелось бы получить:

    [ПОЛЕ_1]             [ПОЛЕ_2]          [ПОЛЕ_3]

    10Nov 19:20:11 <Фамилия 1>     ПОЗДРАВИТЬ
    13Nov 19:20:04 <Фамилия 2>     ОТПРАВИТЬ
    15Nov 21:00:31 <Фамилия 3>     ПОЗДРАВИТЬ

  • Может просто реализовать это по-другому, но я пока не могу понять как. Подскажите пожалуйста, если есть идеи на счёт реализации.
  • У Вас в БД должно быть 4 таблицы:

    Из файла заполняете таблицу events и справочник EventTypes.

    Делаете в программе GUI который заполняет таблицы users и userdate.

    В Access создаете представление и выводите его в грид на форме.

  • Помогите пожалуйста с кодом, вроде что-то понял но не совсем
  • Код заполненея БД из файла у вас вроде уже был, надо немного его изменить. Для каждой строки вы сначала  проверять существет ли в таблице EventTypes данный ивент, если да то вы получаете его id если нет то вы создаете его и получаете его id. Потом добавляете запись в таблицу events с указанием полученного id. 

    C GUI вариантов очень много, например создаете текстовое поле с помощью которого добавляете пользоателя, и ListBox в котором можно выбрать существующего. Если что-то ввели в поле и нажали кнопку то вы вызываете запрос для добавления записи в таблицу users. Для выбора дат у вас на форме может быть DatePicker и если выбран пользователь и дата то вы добавляете запись в таблицу userdates. 

    Попробуйте разобраться и задать вопросы когда что-то конкретно не получится.

  • Спасибо за наводку) спустя некоторое время у меня всё получилось)