这篇文章主要讲一下,如何向数据库新增一些非文件类型的数据,因为要讲的案例就是新增非文件类型的数据。

  1. 第一步肯定是要获取页面数据,然后通过js的XMLHttpRequest或JQuery的$.post()、$.get()、$.Ajax()等方式向控制器发送数据请求,这里就不多多叙述。
  2. 第二步呢就是在控制器这边接收参数,接收参数有好几种方法,下面就举个例子:

这个就是通过在函数的小括号里声明的变量,注意的是,从js那边发送过来的数据类型是类似于key:value类型的数据格式,控制器这边的声明的变量名要和js那边的key属性值相同才可以准确接收到相应的数据。

而另一种接收参数的方法比较简便:

直接使用数据库映射到VS2015的类,将SYS_Specialty 实例化为 specialty,然后使用specialty里已经定义好的类似于第一张图声明的变量。

  1. 第三步就是去重复,既然是新增的数据,那肯定是原有数据源中没有的的数据,所以要用Lambda表达式或Linq表达式,查询数据库是否有相同的数据:

而Count()就是用来统计并返回数据条数的方法.

  1. 第四步是使用if语句判断,变量oldCount是否为0,若为0,则表示新增的数据不与数据源中的数据冲突,接下来就进行新增:

在第二步中讲到有两种接收页面数据的方法:自定义变量和实例化相关的类。若是前者则需要编写上图中109~113行的代码,若是后者则不用,也可以写,但是这些步骤是多余的。然后调用Add()方法将载入数据的实例specialty添加到表SYS_Specialty 中。

  1. 最后一步,就是要保存,就像程序员编写代码的时候总总有一个习惯,就是时不时按一下Ctrl+s,因为Add只是把东西“写”了进去,但是还没“Ctrl+s”保存。所以还要调用保存的方法SaveChanges(),它返回的是一个已保存的数据条数:

有人会觉得将myModal.SaveChanges()放进if的判断框里会不会执行,本人的回答是会的,因为不执行myModal.SaveChanges(),就不会返回数值,不返回数值,就判断不了,所以myModal.SaveChanges()肯定是会执行的,当它执行完之后,就可以设置一些返回页面的信息,告诉用户,操作已经执行好了之类的。

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐