ACCESS里面创建带参数的存储过程
需要注意的是page_load里面的创建存储过程只能执行一次,如果第二次还要创建同名的话会提示错误信息“存储过程已经存在。”,其实加个判断就行了。懒得加了,只是用来试验一下。
调试环境 ASP.NET 2.0(编译工具VS2008),代码C#,access版本2003
protected void Page_Load(object sender, EventArgs e)
{
OleDbConnection oledb = new OleDbConnection();
oledb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\asp99cms.mdb;Jet OLEDB:Database Password=";
oledb.Open();
if (oledb.State == ConnectionState.Open)
{
string str = "Create proc pr_test(@uid int) As select * from Download where [ID]=@uid";
OleDbCommand olecom = new OleDbCommand();
olecom.CommandText = str;
olecom.Connection = oledb;
olecom.ExecuteNonQuery();
oledb.Dispose();
}
oledb.Close();
oledb.Dispose();
}
protected void Button2_Click(object sender, EventArgs e)
{
OleDbConnection oledb = new OleDbConnection();
oledb.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\\asp99cms.mdb;Jet OLEDB:Database Password=";
oledb.Open();
if (oledb.State == ConnectionState.Open)
{
OleDbCommand olecom = new OleDbCommand("pr_test",oledb);
olecom.CommandType = CommandType.StoredProcedure;
olecom.Parameters.Add(new OleDbParameter("@uid",OleDbType.Integer)).Value=TextBox1.Text;
olecom.Connection = oledb;
OleDbDataReader oledr;
oledr=olecom.ExecuteReader();
oledr.Read();
if (oledr.HasRows)
{
Response.Write("存储过程执行成功");
}
oledr.Close();
oledr.Dispose();
oledb.Dispose();
}
oledb.Close();
oledb.Dispose();
}
相关文档:
在access中,update语句不能有子查询的,如不允许如下语句出现:
UPDATE tblA SET lngID=
(SELECT lngID from tblB WHERE strName='nihao')
这样就需要另想办法解决问题。
解决方案:
A。
可以用update另外的语法解决:
UPDATE Tab1 a,(Select ID,Name from Tab2) b
SET a.Name = ......
连接Access
首先看一个例子代码片断:
程序代码:
--------------------------------------------------------------------------------
using System.Data;
using System.Data.OleDb;
......
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;";
strConnection+=@"Data Source=C:\BegASPNET\Northwind.mdb" ......
原因:IIS没有注册,我是原有系统的IIS删了,造成运行IIS中的应用程序出现这种错误!
解决办法:
在CMD中进入目录C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727,运行aspnet_regiis
1、aspnet_regiis -ga administrator(administrator为当前用户)
2、aspnet_regiis -i (注册IIS)
3、iisreset /noforce (重启IIS)
......
----比较复杂的数据库中一般会有位图数据(比如相片)。虽然这类“OLE对象”的插入、删除以及替换操作在ACCESS里容易实现,在VC中却显得复杂而且颇费周折。以下把作者用VC处理ACCESS数据库中的位图数据的体会简单叙述一下,以请教于大家。
----在CdaoRecordset派生类的对象中,VC自动为ACCESS的“OLE对象&r ......