如何检查数据库中是否已经存在数据

本文关键字:是否 存在 数据 数据库 何检查 检查 | 更新日期: 2023-09-27 18:04:05

private int AddRecordCategory()
{
        AdminAllCategory aAdminAllCategory = new AdminAllCategory();
        AdminAllCategoryBLL allCategoryBLL = new AdminAllCategoryBLL();
        int Action = 0;
        try
        {
            if (CategoryID > 0)
            {
                aAdminAllCategory.CategoryId = Convert.ToInt32(CategoryIdtxt.Text);
            }
            else
            {
                //CategoryGateway objCategoryGateway = new CategoryGateway();
                string columnName = "CategoryID";
                string tableName = "Deal.Category";
                aAdminAllCategory.CategoryId = allCategoryBLL.MaxId(columnName, tableName) + 1;
            }
            aAdminAllCategory.Category = BanglaCategory.Text;
            aAdminAllCategory.CategoryEng = EnglishCategory.Text;
            aAdminAllCategory.IsActive = Convert.ToInt32(IsActive.Text);
            aAdminAllCategory.IsHit = Convert.ToInt32(HitDropDown.Text);
            aAdminAllCategory.OrderBy = Convert.ToInt32(OrderBy.Text);
            if (Hit.Text != "")
            {
                aAdminAllCategory.hit = Convert.ToInt32(Hit.Text);
            }
            else
            {
                aAdminAllCategory.hit = 0;
            }
            aAdminAllCategory.MetaKeyword = metaKeyWord.InnerText;
            aAdminAllCategory.MetaDescription = MetaDescription.InnerText;
            aAdminAllCategory.VisibleInDevice = Convert.ToInt32(IsVisible.SelectedValue);
            aAdminAllCategory.AppColorCode = AppColorCode.Text;
            aAdminAllCategory.CategoryTitleBng = BngPageTitle.Text;
            aAdminAllCategory.CategoryTitleEng = EngPageTitle.Text;
            Action = allCategoryBLL.InsertCategory(aAdminAllCategory);
        }
        catch (Exception ex)
        {
            lblSystemMessage.Text = "Warning!!Contact With IT";
        }
        return Action;
}

这里我想在数据库中保存这些属性,但想看看CategoryTitleEngCategoryTitleBng属性是否在保存这些列之前保存在数据库中。然后它将显示如下消息:

这些属性已经存在。

网关和存储过程如下所示.....

public int AddRecord_Category(AdminAllCategory aAdminAllCategory)
{
    int intActionResult = 0;
    int isActive = 1;
    //int isDeleted = 0;
    try
    {
        OpenConnection();
        ArrayList arlSqlParameters = new ArrayList();
        arlSqlParameters.Add(new SqlParameter("@CategoryID", aAdminAllCategory.CategoryId));
        arlSqlParameters.Add(new SqlParameter("@Category", aAdminAllCategory.Category));
        arlSqlParameters.Add(new SqlParameter("@IsHit", aAdminAllCategory.IsHit));
        arlSqlParameters.Add(new SqlParameter("@IsActive", aAdminAllCategory.IsActive));
        arlSqlParameters.Add(new SqlParameter("@OrderBy", aAdminAllCategory.OrderBy));
        arlSqlParameters.Add(new SqlParameter("@CategoryEng", aAdminAllCategory.CategoryEng));
        arlSqlParameters.Add(new SqlParameter("@MetaKeyword", aAdminAllCategory.MetaKeyword));
        arlSqlParameters.Add(new SqlParameter("@MetaDescription", aAdminAllCategory.MetaDescription));
        arlSqlParameters.Add(new SqlParameter("@VisibleInDevice", aAdminAllCategory.VisibleInDevice));
        arlSqlParameters.Add(new SqlParameter("@AppColorCode", aAdminAllCategory.AppColorCode));
        arlSqlParameters.Add(new SqlParameter("@CategoryTitleEng",aAdminAllCategory.CategoryTitleEng));
        arlSqlParameters.Add(new SqlParameter("@CategoryTitleBng", aAdminAllCategory.CategoryTitleBng));
            intActionResult = this.ExecuteActionQuery("Deal.USP_AddDealsCategory", arlSqlParameters);
    }
    catch (Exception ex)
    {
    }
    finally
    {
        CloseConnection();
    }
    return intActionResult;
}
CREATE PROCEDURE [Deal].[USP_AddDealsCategory]
(
    @CategoryID int,
    @Category nvarchar(150),
    @IsActive int,
    @IsHit int,
    @OrderBy int,
    @CategoryEng varchar(150),
    @MetaKeyword varchar(500),
    @MetaDescription varchar(500),
    @VisibleInDevice int = 0,
    @AppColorCode varchar(50) = '',
    @CategoryTitleEng varchar(200),
    @CategoryTitleBng nvarchar(200),
    @MetaKeywordBng nvarchar(200),
    @MetaDescriptionBng nvarchar(200)
) 
AS
BEGIN       
Insert into Deal.Category
(CategoryID,Category,IsActive,IsHit,OrderBy,Hit,CategoryEng,MetaKeyword,MetaDescription,VisibleInDevice,AppColorCode,CategoryTitleEng,CategoryTitleBng,MetaKeywordBng,MetaDescriptionBng)
Values(@CategoryID,@Category,@IsActive,@IsHit,@OrderBy,0,@CategoryEng,@MetaKeyword,@MetaDescription,@VisibleInDevice,@AppColorCode,@CategoryTitleEng,@CategoryTitleBng,@MetaKeywordBng,@MetaDescriptionBng)
END 

如何检查数据库中是否已经存在数据

您已经两次将属性@CategoryTitleBng添加到参数列表中。这就是它给出错误的原因这应该只出现一次

arlSqlParameters.Add(new SqlParameter("@CategoryTitleBng", aAdminAllCategory.CategoryTitleBng));