use*_*485 4 c# clr stored-procedures sql-server-2005
我正在开发一个C#SQL Server 2005存储过程,它为我的应用程序进行数据验证.我有一个很好的框架,这是有效的.验证方法如下:
private void TestDate() {
TestFields(delegate (string value) {
if (value == String.Empty || value == "")
return true;
return IsDate(value);
});
}
Run Code Online (Sandbox Code Playgroud)
该解决方案使用如上所述编写的几种方法编译,部署和运行.TestFields迭代查询返回的列,调用委托,返回是否通过了有效性测试.我添加了一个新方法:
private void TestRequired() {
TestFields(delegate (string value) {
return ! (value == String.Empty || value == "");
});
}
Run Code Online (Sandbox Code Playgroud)
使用此方法,DLL将不会部署:CREATE ASSEMBLY失败,因为安全程序集"SurveyValidation"中类型"SurveyValidator"上的方法"TestRequired"正在存储到静态字段.安全组件中不允许存储到静态字段.
我拔出了头发.如果我注释掉TestRequired(),它就可以了.显然,它没有做一个赋值语句,所以我不知道SQL Server在抱怨什么.我是不是偶然发现了某种晦涩的错误?(我知道错误意味着什么,我在SP类中没有任何静态字段.只是创建项目的静态输入方法给你.)
TIA,戴夫
| 归档时间: |
|
| 查看次数: |
2825 次 |
| 最近记录: |