数据库(sql)中存储过程与实际的程序开发是如何结合的?
发布网友
发布时间:2022-04-08 17:55
我来回答
共2个回答
热心网友
时间:2022-04-08 19:25
最简单的方法是用存储过程名调用
如:有一个存储过程 proccess1 有两个参数parameter1,parameter2
那么调用时用"proccess1 parameter1值,parameter2值"
存储过程
CREATE PROCEDURE process1
(
@parameter1 int,
@parameter2 int
)
AS
insert into table1
(p1,p2)
values(@parameter1,@parameter2)
RETURN
例1:
SqlConnection myConnection = new SqlConnection(连接字符传));
SqlCommand myCommand = new SqlCommand("process1 "+参数值1 +"," + 参数值2, myConnection);
还可以把Command对象的方式设为StoredProcere
例2:
SqlConnection myConnection = new SqlConnection(连接字符传);
SqlCommand myCommand = new SqlCommand("process1", myConnection);
myCommand.CommandType = CommandType.StoredProcere;
SqlParameter parameter1 = new SqlParameter("@parameter1", SqlDbType.Int, 4);
parameter1.Value = 参数1的值;
SqlParameter parameter2 = new SqlParameter("@parameter2", SqlDbType.Int, 4);
parameter2.Value = 参数2的值;
myCommand.Parameters.Add(parameter1);
myCommand.Parameters.Add(parameter2);
myConnection.Open();
myCommand.ExecuteNonQuery();
myConnection.Close();
如果存储过程有返回值的话则只能用第二种方法
热心网友
时间:2022-04-08 20:43
可以直接调用存储过程的名字执行。
Cmd.CommandText="delete from table1";
Cmd.ExecuteNonQuery();
效果等同于
Cmd.CommandText="存储过程名";
Cmd.ExecuteNonQuery();
如果是消耗资源比较大的sql语句,建议使用存储过程,数据库引擎会进行优化。