Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 如何以vb.net代码的形式转换存储在数据库中的规则?_Asp.net_Database_Vb.net - Fatal编程技术网

Asp.net 如何以vb.net代码的形式转换存储在数据库中的规则?

Asp.net 如何以vb.net代码的形式转换存储在数据库中的规则?,asp.net,database,vb.net,Asp.net,Database,Vb.net,我们需要将规则存储在数据库表中,并根据这些规则在运行时验证某些属性 下表描述了类似的结构,我们将从中提取属性名称及其各自的规则,以根据规则ID进行评估 示例:如果我想验证属性FirstName,我需要检查FirstName属性是否不应为null,并且必须包含一些值。如果该属性没有任何数据,则需要对此属性抛出错误 RULE_ID ATTRIBUTE_NAME ATTRIBUTE_RULE ABC123 FirstName <> NULL XYZ34

我们需要将规则存储在数据库表中,并根据这些规则在运行时验证某些属性

下表描述了类似的结构,我们将从中提取属性名称及其各自的规则,以根据规则ID进行评估

示例:如果我想验证属性FirstName,我需要检查FirstName属性是否不应为null,并且必须包含一些值。如果该属性没有任何数据,则需要对此属性抛出错误

RULE_ID ATTRIBUTE_NAME      ATTRIBUTE_RULE
ABC123  FirstName              <> NULL
XYZ345  LastName               <> NULL
GHI654  Age                    <>NULL
POC123  DateOfBirth            < Sysdate
QWE675  BloodGroup             = A+ve
JKL987  City                   <> London
IUK134  Occupation             = NULL
规则\u ID属性\u NAME属性\u规则
ABC123名字为空
XYZ345 LastName NULL
GHI654年龄无效
POC123出生日期<系统日期
QWE675血型=A+ve
JKL987伦敦城市酒店
IUK134职业=空
由于存储在数据库中的规则将以Varchar(即字符串)形式存在,我们如何转换这些以字符串形式存在的规则并使用vb.net验证代码中的属性


关于这一点,请帮助我。

我也有类似的想法,不过您需要根据自己的情况进行调整

基本上,我创建了一系列返回布尔结果的函数

e、 要测试的函数不是空的

Protected Function CheckNotBlank(value As String) as Boolean
    If value <> "" then
        Return True
    Else
        Return False
    End If
End Function
您需要创建并调整您的函数以适应套件。希望有帮助

Protected Function CheckIsLessThan(value As Integer, compareToValue As Integer) As Boolean
    If value < compareToValue Then
        Return True
    Else
        Return False
    End If
End Function
Dim ValidFlag as Integer = 0
Dim ErrorStack as New StringBuilder

If CheckNotBlank(MyValueToCheck) = False Then
    ValidFlag += 1
    ErrorStack.Append("MyValueToCheck is Blank ").Append(vbCrLf)
End If
If CheckIsLessThan(CheckIntegerValue, CompareToIntegerValue) = False Then
    ValidFlag += 1
    ErrorStack.Append("CheckIntegerValue is greater than CompareToIntegerValue ").Append(vbCRLF)
End If
If CheckNotBlank(AnotherValueToCheck) = False Then
    ValidFlag += 1
    ErrorStack.Append("AnotherValueToCheck is Blank ").Append(vbCrLf)
End If
......
If ValidFlag > 0 Then
  'We have errors
End If