批量新增
大家,下面給大家介紹的是批量新增。相信大家對于對于新增的簡單了解呢,就是添加新的內容。對事實本來就是這樣,就是字面上解釋。對于本人來說,新增有單項新增跟批量新增,單項新增就是一個一個添加自己想要的內容,一次只能添加一個。批量新增就是可以一次性把自己想要的內容添加完。如果要添加的內容比較多的有最后是使用批量新增。而本人想給大家介紹的是批量新增,是在控制器中使用的方法。如有不對的地方,歡迎指教,謝謝。
方法的頭部:
圖1
要創建方法首先要寫public,“public”是關鍵字。“ActionResult”是返回的數據類型。“InsertCertificate”
是方法的命名。“List< T >”表示可以通過索引訪問的對象的強類型列表。提供用于列表進行搜索、排序、操作的方法, “T”就是“Achievement”。“Achievement”是視圖傳過來的實體類。“listID”參數是一個ID的集合。“ReturnJson msg = new ReturnJson();”是實例化“msg”參數。“int count = 0;與int excount = 0;”記錄已經存在與新增的數據條。這便是上圖的解釋。
圖2
為了捕抓錯誤給它一個“try”。“foreach”循環,“Achievement”是實體類,“item”聲明變量,“listID”聲明的一個集合ID。
判斷學生是否有證書:“AchieveentID”是整數,所以用“int”類型,“Convert”的意思是將現有的數據類型,轉換為另一個數據類型,“ToInt32”的意思是將數字的指定字符串表示形式轉換為等效的32位帶符號的整數,ToInt32過號里的是一個局部變量,加一個封裝好的成績ID。
查詢成績:根據ID去證書表里面查詢,“var tbAchievement = myModel.CertificateITable.”的意思是“tbAchievement”表來自于數據庫“CertificateITable”表。“Where(m => m.AchievementID == AchievementID)”的意思是把你在“AchieveentID”里面需要要的內容新取出來。ToList();是返回表的意思。
判斷證書數據是否存在:如果“tbAchievement”的“Count > 0”,那就是表示證書數據存在。“excount++”是每次加1的意思,如果存在呢,就給它每次自動加1。
圖3
圖3就是新增的操作的,就是如果證書的數據不存在的話,就需要給它一個新增操作。“else”創建新增操作。
首先是聲明局部變量,“from Achievement in myModel.PW_Achievement join tbStudent in myModel.PW_Student on Achievement.UserID equals tbStudent.UserID”的意思是Achievement
表是來自于事件庫的PW_Achievement表,tbStudent表是來自于事件庫的PW_Student, tbStudent表要連接Achievement表,Achievement.UserID等于tbStudent.UserID。接下來就是把在AchievementID里面需要的內容選取出來,然后將序列中的每個元素投影到新的列表中“tbStudent.StudentNumber”. Take(1)是序列中返回指定數量連續的元素,然后返回表。
定義一個變量去獲取學生的編號。實例化一個對象“modCertificate”。給對象“modCertificate”賦值:
AchievementID、CertificateNumber、IssuanceUnit、IssuanceTime就是“modCertificate”對象的賦值。“Convert”將基本的數據類型轉換為其它另一個數據類型,“ToString”返回指定的字符串,不執行實際轉換。“DateTime”指定當前的時間,“Now”獲取當前的時間。最后新增,“myModel.CertificateITable.Add(modCertificate)”把自己創建的對象放近Add過號里便可。
如果SaveChanges()>0那便表示新增成功,給它一個count++,每次自動加1。成功返回便是true,
接下來就是提示了,提示你成功新增了多少條數據,你要新增的數據是否重復,如有重復新增失敗,還有你有可能出現錯誤的數據有多少條。組成一個字符串。就這樣新增的操作已完成。
圖4
“catch”是如果捕抓到“try”中的錯誤,就會直接跳到圖4來,顯示“false”。但如果捕抓到的錯誤有判斷的話是不會跳的這里來的。“Exception”是表示在應用程序執行的過程中捕抓到的錯誤。“e”就是一個提示的作用。“msg”是局部變量,“State”是狀態,“fale”一般都是遇到錯誤的提示。“Text”文本的意思,“Text=“ ””是 = 的后面表示文本,一系列字符串。“return Json(msg, JsonRequestBehavior.AllowGet);”是返回請求的參數 ,“JsonRequestBehavior”是作為返回值的參數。
以上是我個人對批量新增的見解,如果有不對的地方,歡迎指教,謝謝。
總結
- 上一篇: 股民学堂:短线炒股绝招 值得一学
- 下一篇: linux递归强行删除目录和文件