当一个或多个字段为空时,输入文本框值不保存到数据库
本文关键字:文本 输入 数据库 保存 一个 字段 | 更新日期: 2023-09-27 18:16:02
我使用angular with entity framework将数据保存到SQL后端数据库。
当我完成web表单中的所有字段时,它保存到数据库中。如果我留下一个字段空白(这不是必需的),那么没有项目保存到数据库。数据库列都是空的。
JS:
$scope.saveData = function () {
$http.post("/AddTeam/SaveData", {
recordID: $scope.formGuid,
GenAddress1: $scope.formData.GenAddress1,
GenAddress2: $scope.formData.GenAddress2,
GenAddress3: $scope.formData.GenAddress3,
GenCity: $scope.formData.GenCity,
GenPostCode: $scope.formData.GenPostCode,
GenPhoneNo: $scope.formData.GenPhoneNo,
GenFaxNo: $scope.formData.GenFaxNo,
TodaysDate: $scope.TodaysDate,
GenDeactivationDate: $scope.formData.GenDeactivationDate
})
.success(function (result) {
$scope.teams = result;
})
.error(function (data) {
console.log(data);
});
}
这是c#中的控制器
[HttpPost]
public void SaveData(string recordID, string GenAddress1, string GenAddress2, string GenAddress3, string GenCity,
string GenPostCode, string GenPhoneNo, string GenFaxNo, DateTime TodaysDate, DateTime GenDeactivationDate)
{
var db = new MYDBEntities();
db.WebForms_MyTable.Add(new WebForms_MyTable()
{
RecordID = recordID,
AddressLine1 = GenAddress1,
AddressLine2 = GenAddress2,
AddressLine3 = GenAddress3,
City = GenCity,
Postcode = GenPostCode,
PhoneNumber = GenPhoneNo,
FaxNumber = GenFaxNo,
ActivationDate = TodaysDate,
DeactivationDate = GenDeactivationDate
});
你知道为什么会这样吗?
谢谢
ok,我通过改变DateTime字段的声明从'DateTime'到'DateTime'来修复它?'
[HttpPost]
public void SaveData(string recordID, string GenAddress1, string GenAddress2, string GenAddress3, string GenCity,
string GenPostCode, string GenPhoneNo, string GenFaxNo, DateTime? TodaysDate, DateTime? GenDeactivationDate)
{
var db = new MYDBEntities();
db.WebForms_MyTable.Add(new WebForms_MyTable()
{
RecordID = recordID,
AddressLine1 = GenAddress1,
AddressLine2 = GenAddress2,
AddressLine3 = GenAddress3,
City = GenCity,
Postcode = GenPostCode,
PhoneNumber = GenPhoneNo,
FaxNumber = GenFaxNo,
ActivationDate = TodaysDate,
DeactivationDate = GenDeactivationDate
});