在Solution Explorer窗格中单击View Designer按钮,代开Insert Faculty窗体的设计界面,双击Insert按钮,代开该按钮的单击事件处理程序,并将代码输入到该方法中。
1.在该步骤中,声明了一个整型类型的局部变量intInsert,用于保存执行TableAdapter.InsertO方法的返回值。TableAdapter.InsertO方法的返回值是一个整数,表示有多少条记录已经成功地插入到了数据库中或影响了数据库。可以使用该返回值来判断数据插入操作是否成功。如果返回值为0,表示没有记录插入或添加到数据库中,数据插入失败。
2.如果用户选择TableAdapter.InsertO方法来执行数据插入,调用在上一节中使用Table Adapter查询配置向导创建的查询函数InsertFacultyO,来执行该数据插入操作。该方法将把用户在7个文件框中输入的新教员记录的7个字段信息,插入到数据库的Faculty表中。
3.如果用户选择了TableAdapter.UpdateO方法来执行数据插入,那么调用TableAdapter.UpdateO方法来执行数据插入操作,该方法的代码在下一节中讨论。
4.如果数据插入成功,返回的整数值标识已成功插入到数据库中的记录的数量。在之前介绍过,一个非0的返回值表示该数据插入操作成功。此时将模拟一个单击Cancel按钮的操作,触发Cancel按钮单击事件处理程序的执行,清除7个文本框中新插入教员的全部信息,为下一次数据插入操作做好准备。
5.如果in Insert的值为0,表示数据插入失败。此时将显示一个Message Box消息警示框,向用户指明这一情况。需要强调一点,当执行一个数据插入操作时,相同的数据只能插入到数据库中一次,数据库不允许插入多个相同的数据记录。在该应用程序中(实际上对绝大多数应用程序都是如此),一旦一条记录插入成功,就立即禁用Inset按钮。如果数据插入失败,恢复或重新启用Insert按钮,以允许用户尝试其他的数据插入操作。
根据上面的分析,要避免把相同的数据记录重复地插入到数据库中,一个有效的办法就是在数据插入操作成功之后禁用Insert按钮。这就产生了另一个问题:如果之后想插入其他的数据记录,那么应该在何时以及如何再次启用该Inset按钮,以允许用户插入其他不同的新纪录?该问题的解决方法就是开发另外一个方法来处理这一情况。请思考一下,当想把新的不同记录插入到数据库时,首先必须在每一个文本框控件中输入新教员记录的每一个字段信息,例如txtID、txtName、txtOffice、txtPhone、txtTitle、txtCollege和txtEmail文本框。只要某个文本框的内容发生了改变,就说明用户输入了一个新的、不同的数据记录,此时应该启用Insert按钮,以允许用户执行一个新的数据插入操作。在Visual C#NET中,文本框控件提供了一个名为Text Changed的时间来相应的事件处理程序。因此,只要Text Changed事件发生,就可以利用该事件及其事件处理程序来启用Insert按钮。这又引出了另外一个问题:问题使用哪一个文本框的Text Changed事件来触发相应方法,以启用Insert按钮允许用户插入一条新纪录呢?任何文本框的Text Changed事件都可以用来实现该功能吗?要回答这一问题,需要重新审视数据库中的数据问题。在示例数据库CSE DEPT(实际上是Faculty表)中,实际上是根据记录的主键来标识一条记录。也就是说,具有不同主键的记录将被视为不同的记录。因此对于上面的问题,答案就是:如果保存主键的文本框的内容发生了改变,则表示将插入一条新纪录,在本例中即用于保存faculty-id的txtID文本框控件。因此应该使用txtID文本框的Text Changed事件处理程序来触发对Insert按钮的启用。
要打开txtID文本框控件的Text Changed方法,只需在Solution Explorer窗格中单击View Designer按钮,打开Insert Faculty窗体的设计界面,然后在txtID(Faculty ID)文本框控件上双击,打开该文本框的Text Changed时间处理程序。
★关于WorkWin公司电脑监控软件★
WorkWin的使命是打造Work用途的Windows 电脑系统,有效规范员工上网行为,让老板知道员工每天在做什么(监控包括屏幕、上网在内的一举一动),限制员工不能做什么(禁止网购、游戏、优盘等)。
WorkWin基于纯软件设计,非常容易使用,无需添加或改动任何硬件,使用一台管理机监控全部员工机电脑。历经南京网亚十余年精心打造,此时此刻每天都有成千上万企业电脑正在运行WorkWin,选择WorkWin选择“赢”。
版权所有,南京网亚计算机有限公司 。本文链接地址: 开发使用Table Adapter方法插入数据的代码