如何在不在数据库中添加新行的情况下将datagridview的头保存在数据库中?

时间:2014-06-05 01:03:11

标签: database datagridview vb.net-2010 datagridviewcolumn

这就是我们的表格:

   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   

名称为" DATE"的列是复选框,它表示文本框中输入的值。我们希望将数据库中的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  

我们希望这发生在我们的数据库中。按下按钮保存后,标题将保存在数据库中。情况是,当您按下保存按钮并查看数据库时,您可以在数据库中看到新添加的行。有谁可以帮助我们!我们一直试图弄清楚要做什么,但直到现在我们还没有解决它!

1 个答案:

答案 0 :(得分:1)

从网格到数据库"从根本上是错误的。数据库由表,这些表之间的关系,存储过程,视图等组成。数据库中的数据必须遵循atomicity principle。这基本上意味着,数据库中的每个事务都必须被视为一个完整的整体。这意味着,如果您想在数据库中执行某项操作,这涉及多次插入/删除/更新,则表示事务,并且如果插入失败,一切都被撤销(这称为"数据库回滚")。如果一切顺利,数据库然后通过所谓的"数据库提交"对数据应用所需的更改。 另外,您必须始终牢记的非常重要的事情是每个数据库字段应该只有一个值。因此,如果要存储人员的名称,实际上需要两个数据库字段:FirstName和LastName。如果你想让我们的生活更加复杂,你显然必须包括MiddleName,MaidenLastName等。

这有什么关系? 网格视图用于显示数据。它们可以作为数据窗口,通常可以使数据变得有用。有时人们也会以这种方式填充网格视图,他们创建了1列(让我们称之为Name),然后显示FirstName +" " +该列中的LastName。这没有任何问题,但在你的情况下,这会产生一个问题,因为你可以用橙色创造橙汁但不能从果汁中重新制作橙色..

Datagridview是一个WinForms控件,因此可以显示来自各种数据源的数据。您使用的是哪个数据库/数据源?

我担心你提供的信息不足以让我的答案更彻底。但我可以说:

  1. 您的问题可能更具体,您必须提供其他详细信息。
  2. 您不应该根据用户输入更改数据库架构
  3. 如果您真的需要这种行为,您需要熟悉数据库的DML(数据操作语言 - 用于操作数据)和DDL(数据定义语言 - 用于更改模式,更改其他模式 - 相关问题)。
  4. 随意扩展您的问题或进一步询问。