dotNET下面调用Access中存储过程的方法

emotionbrand

emotionbrand

2016-01-29 12:56

dotNET下面调用Access中存储过程的方法,dotNET下面调用Access中存储过程的方法
在Sql Server中使用存储过程是大家都比较熟悉的了,前不久自己作了一个小东东,数据库使用的是MS Access数据库,也想着试试用存储过程是否可行。毕竟,存储过程与代码的关系不是非常大,数据库和存储过程的修改有些是不用更改编码的。下面贴出我的代码,大家会发现,其实跟调用Sql Server的存储过程是完全一样的,不同的仅仅在于存储过程的名称。
以删除人员信息为例:
1. 这里是数据访问层的一段代码,直接调用存储过程。
public class Person
{
///定义存储过程,注意,这里的存储过程用 [ ] 括起来了。
private const string ASP_PERSON_INSERT = "[asp_Person_Insert]";
private const string ASP_PERSON_UPDATE = "[asp_Person_Update]";
private const string ASP_PERSON_DELETE = "[asp_Person_Delete]";
...................................
private const string PARM_PERSON_PERSONID="@PersonID";
..................................
private OleDbParameter[] GetDeleteParam(int PersonID)
{
OleDbParameter[] param = new OleDbParameter[]
{
new OleDbParameter(PARM_PERSON_PERSONID,OleDbType.Integer)
};
param[0].Value=PersonID;
return param;
}
///
/// 删除人员信息

///

///
人员ID
/// 成功返回True;失败返回False
public bool Delete(int personID)
{
//ASP_PERSON_DELETE 存储过程的名称。
OleDbParameter[] param=this.GetDeleteParam(personID);
try
{
/// 调用方式没有变化。
int i=Utility.Tools.CreateOleDbCommandExecuteNonQuery(ASP_PERSON_DELETE,param);
if (i>0)
{
return true;
}
}
catch
{
}
return false;
}
2.再来看看Access数据库里面跟Sql Server有什么区别:
Access数据库中的存储过程是以“查询”的方式存放的,打开你的Access数据库,选中“查询”,选中“新建”,先建立一个简单的查询。选择表和需要的字段以及需要的参数。这时,再选中工具栏中的SQL视图,您可以看到如下的语句:
PARAMETERS [PersonID] Short;
DELETE *
FROM PersonInfo
WHERE [PersonInfo].[PersonID]=[PersonID];
如果参数多,请参照:PARAMETERS [ID] Short, [ParentID] Short, [OrganName] Text ( 255 ), [Numbe] Text ( 255 ), [OtherName] Text ( 255 ), [CodeID] Text ( 255 ), [OrganSpec] Text ( 255 ), [OrganProperty] Text ( 255 ), [OutLayType] Text ( 255 ), [ManageDepart] Text ( 255 ), [SetUpTime] DateTime, [PassDepart] Text ( 255 ), [OrganNUM] Short, [PersonNUM] Short, [PassNumber] Text ( 255 ), [Address] Text ( 255 ), [JPerson] Text ( 255 ), [Tel] Text ( 255 ), YearCheck Text ( 255 );
最后,保存就可以运行你的代码试试了。另外,Access里面没有Sql Server的查询器,所以你要在Access中测试你的存储过程会比较麻烦些:右键选中你的存储过程,选择“打开”即可,但是参数不要输入错误。Access中写存储过程是闭架麻烦的,毕竟不象Sql Server那样对存储过程的支持好,所以要特别细心而且强烈建议大家经常保存。
展开更多 50%)
分享

猜你喜欢

dotNET下面调用Access中存储过程的方法

电脑网络
dotNET下面调用Access中存储过程的方法

在ACCESS 中调用后台存储过程

MySQL mysql数据库
在ACCESS 中调用后台存储过程

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

asp调用存储过程

Web开发
asp调用存储过程

在ASP中调用存储过程的几种方法

Web开发
在ASP中调用存储过程的几种方法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Java中调用SQL Server存储过程示例

编程语言 网络编程
Java中调用SQL Server存储过程示例

ASP调用oracle存储过程

ASP
ASP调用oracle存储过程

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

利用单元测试在每个层上对PHP代码进行检查

利用单元测试在每个层上对PHP代码进行检查

帮找下错误 - PHPchina

帮找下错误 - PHPchina
下拉加载更多内容 ↓