как мы можем сохранить заголовок datagridview в базе данных без добавления новой строки в базу данных?

Вот так выглядит наша форма:

   InstructorsID    CourseCode    Section    Surname    FirstName    MiddleName    Date1    Date2    Date3    Date4    Date5    Date6    Date7    Date8    Date9    TotalAbsent    Present    EquivalentGrade     
    Alex            Comp100        DCIT-1b   Bancil     Lenrick      Malabanan     Check    Check    Check   Check     Uncheck  Uncheck  Check    Uncheck  Check        3             6             83   

Столбцы с именем «ДАТА» являются флажками и представляют собой введенное значение в текстовом поле. Мы хотели сохранить заголовок datagridview в базе данных в полях new, которые мы добавили в базу данных.

А вот так выглядит наша база данных:

  InstructorsID    CourseCode    Section    Surname    FirstName    MiddleName    DateA    Date1    DateB    Date2   DateC    Date3    DateD    Date4    DateE    Date5    DateF    Date6    DateG    Date7    DateH    Date8    DateI    Date9    TotalAbsent    Present    EquivalentGrade     
    Alex            Comp100        DCIT-1b   Bancil     Lenrick      Malabanan  06/02/14  Check  06/03/14   Check  06/04/14    Check  06/05/14   Check  06/06/14 Uncheck  06/07/14  Uncheck  06/08/14  Check  06/09/14  Uncheck  06/10/14  Check        3             6             83  

Мы хотим, чтобы это произошло с нашей базой данных. При нажатии кнопки сохранить заголовок будет сохранен в базе данных. Дело в том, что когда вы нажимаете кнопку сохранения и смотрите на свою базу данных, вы видите новую добавленную строку в базе данных. Может ли кто-нибудь помочь нам! мы пытались выяснить, что делать, но до сих пор мы не можем решить эту проблему!


person jhenn    schedule 05.06.2014    source источник


Ответы (1)


Принципиально неправильно просто "сохранять из сетки в базу данных". База данных состоит из таблиц, связей между этими таблицами, хранимых процедур, представлений и т. д. Данные в базе данных должны соответствовать принцип атомарности. В основном это означает, что каждая транзакция в базе данных должна рассматриваться как единое целое. Это означает, что если вы хотите сделать что-то в своей базе данных, которое включает в себя несколько вставок/удалений/обновлений, это представляет собой транзакцию, и если один из, например. вставка не выполняется, все отзывается (это называется "откат базы данных"). Если все идет хорошо, база данных затем применяет желаемые изменения к данным через так называемую «фиксацию базы данных». Другая очень важная вещь, которую вы всегда должны помнить, это то, что каждое поле базы данных должно иметь только одно значение. Итак, если вы храните имя человека, вам на самом деле нужны два поля базы данных: Имя и Фамилия. Если вы хотите еще больше усложнить нашу жизнь, вы, очевидно, должны включить MiddleName, MaidenLastName и т. д.

Насколько это актуально? Gridviews используются для представления данных. Они служат окном в ваши данные и обычно делают данные полезными. Иногда люди также заполняют gridview таким образом, что они создают 1 столбец (назовем его Name), а затем показывают FirstName+" "+LastName в этом столбце. В этом нет ничего плохого, но в вашем случае это представляет проблему, потому что вы можете создать апельсиновый сок из апельсина, но не можете воссоздать апельсин обратно из сока.

Datagridview является элементом управления WinForms и, как таковой, может представлять данные из различных источников данных. Какую базу данных/источник данных вы используете?

Боюсь, вы предоставили недостаточно информации, чтобы мой ответ был более подробным. Однако я могу сказать:

  1. что ваша проблема, вероятно, более конкретна, и вам придется предоставить дополнительные сведения.
  2. вы не должны изменять схему базы данных на основе пользовательского ввода
  3. если вам действительно нужно такое поведение, вам нужно будет ознакомиться с вашей базой данных DML (язык манипулирования данными - для манипулирования данными) и DDL (язык определения данных - для изменения схемы, изменения других вопросов, связанных со схемой).

Не стесняйтесь расширять свой вопрос или задавать дополнительные вопросы.

person martin    schedule 05.06.2014
comment
Аюб си сэр Мартин Нагбигай нанг пойнтс кунг пано гагавин... =D - person GoroundoVipa; 06.06.2014
comment
Извините, но я не понимаю, что вы только что написали :) - person martin; 06.06.2014