当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > dotNET下面调用Access中存储过程的方法

ASP.NET
赫赫大名的A*寻路算法(vb.net版本)
asp.net(c#)下Jmai去说明 使用与下载
[原创]完美解决Could not load file or assembly ''AjaxPro.2'' or one of its dependencies. 拒绝访问。
asp.net下gridview 批量删除的实现方法
用CSS实现图片倾斜 只支持IE
.net get set用法小结
vs 不显示行号的操作方法
ASP.NET页面进行GZIP压缩优化的几款压缩模块的使用简介及应用测试!(附源码)
ASP.Net不执行问题一解
asp.net 无限分类
让VS2008对JQuery语法的智能感知更完美一点
扩展方法ToJSON() and ParseJSON()
asp.net下PageMethods使用技巧
Linq to SQL Delete时遇到问题的解决方法
实现ASP.NET多文件上传程序代码
ASP.NET AJAX 1.0 RC开发10分钟图解
asp.net get set用法
ASP.NET下使用WScript.Shell执行命令
asp.net2.0实现邮件发送(测试成功)
Asp.net 无限级分类实例代码

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 134 ::
收藏到网摘: n/a

在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那样对存储过程的支持好,所以要特别细心而且强烈建议大家经常保存。