繁体   English   中英

验证外键的唯一输入字段

[英]Validate a unique input field from a foreign key

我有一个带有两个字段rubriqueIdrubriqueintermediareId的表rubriqueintermediare ,这是来自表Rubrique的外键。

我的表Rubriqueintermediare有一个来自rubrique表的libelle字段的列表框。

当我添加新的rubriqueintermediare时,我不能在rubriqueintermediare列表中添加现有的。

当表rubriqueintermediare只有rubriqueintermediareIdrubriqueId ,该rubriqueintermediare在SQL Server中自动递增,该如何进行验证。 这是我的方法添加到rubriqueintermediare的控制器中:

[HttpPost]
    public JsonResult Save([DataSourceRequest] DataSourceRequest dsRequest, RubriqueIntermediareVM vm)
    {
        try
        {
            ViewData["CodeRubrique"] = new SelectList(RefDataManager.GetRefData<RubriqueVM>(), "RubriqueId", "CODELIBELLE");
            if (ModelState.IsValid)
            {
                RubriqueIntermediareVM rubi = ServiceApplicatif.Save(vm);
                IEnumerable<RubriqueVM> rubrique = RefDataManager.GetRefData<RubriqueVM>() as IEnumerable<RubriqueVM>;
            }
            DataCache dataCache = new DataCache(CurrentSecurityContext.TenantID);
            dataCache.DropDataCache<RubriqueIntermediareVM>();
            return Json(new[] { vm }.ToDataSourceResult(dsRequest, ModelState));
        }
        catch (Exception ex)
        {
            LoggerRubriqueIntermediare.Error(string.Format("Exception : {0}", ex.Message.ToString()));
            throw new Exception("Erreur lors de l'enregistrement.");
        }
    }

您必须对数据库进行此验证

入店手续

if exists( select Count(id) 
           from Rubriqueintermediare 
           where @name=rubricname) -- Assuming rubricname is column  
begin
    --return field as you want 
END
Else
Begin
    --Insert as you want
End

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM