我们可以在 ms access 2007 中创建存储过程吗
Can we create stored procedure in ms access 2007
如何在MS Access 2007中创建存储过程。如果可以,那么应该如何编写插入语句的过程。
无法在 MS Access 2007 中创建存储过程。您需要 Access 2013 - https://msdn.microsoft.com/en-us/library/office/ff845861(v=office.15).aspx
这个语句可以作为例子
string queryText = @"
CREATE PROCEDURE Customer_Insert (pName text(255), pAddress Text(255)) AS
INSERT INTO Customers ( Name, Address )
VALUES ([pName], [pAddress]);";
现在使用 OleDb 执行非返回行命令的常用方法
using(OleDbConnection cn = new OleDbConnection(......))
using(OleDbCommand cmd = new OleDbCommand(queryText, cn))
{
cn.Open();
cmd.ExecuteNonQuery();
}
终于可以正常调用了
using(OleDbConnection cn = new OleDbConnection(......))
using(OleDbCommand cmd = new OleDbCommand("Customer_Insert", cn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("pName", OleDbType.VarWChar).Value = "yourCustomerName";
cmd.Parameters.Add("pAddress", OleDbType.VarWChar).Value = "yourCustomerAddress";
cn.Open();
cmd.ExecuteNonQuery();
}
编辑
只有当 StoredProcedure 不存在时,才应创建存储过程(A.K.A。Access 界面中的查询)。要发现该过程是否已存在于您的数据库中,最简单的方法如下
using(OleDbConnection cn = new OleDbConnection(....));
{
con.Open();
var schema = con.GetSchema("Procedures");
DataRow[] r = schema.Select("PROCEDURE_NAME = 'Customer_Insert'");
if(r.Length > 0)
MessageBox.Show("Procedure 'Customer_Insert' already exists");
}
如何在MS Access 2007中创建存储过程。如果可以,那么应该如何编写插入语句的过程。
无法在 MS Access 2007 中创建存储过程。您需要 Access 2013 - https://msdn.microsoft.com/en-us/library/office/ff845861(v=office.15).aspx
这个语句可以作为例子
string queryText = @"
CREATE PROCEDURE Customer_Insert (pName text(255), pAddress Text(255)) AS
INSERT INTO Customers ( Name, Address )
VALUES ([pName], [pAddress]);";
现在使用 OleDb 执行非返回行命令的常用方法
using(OleDbConnection cn = new OleDbConnection(......))
using(OleDbCommand cmd = new OleDbCommand(queryText, cn))
{
cn.Open();
cmd.ExecuteNonQuery();
}
终于可以正常调用了
using(OleDbConnection cn = new OleDbConnection(......))
using(OleDbCommand cmd = new OleDbCommand("Customer_Insert", cn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("pName", OleDbType.VarWChar).Value = "yourCustomerName";
cmd.Parameters.Add("pAddress", OleDbType.VarWChar).Value = "yourCustomerAddress";
cn.Open();
cmd.ExecuteNonQuery();
}
编辑
只有当 StoredProcedure 不存在时,才应创建存储过程(A.K.A。Access 界面中的查询)。要发现该过程是否已存在于您的数据库中,最简单的方法如下
using(OleDbConnection cn = new OleDbConnection(....));
{
con.Open();
var schema = con.GetSchema("Procedures");
DataRow[] r = schema.Select("PROCEDURE_NAME = 'Customer_Insert'");
if(r.Length > 0)
MessageBox.Show("Procedure 'Customer_Insert' already exists");
}