存储过程具体过程以及sql数据库调用和程序代码调用

Posted LongtengGensSupreme

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了存储过程具体过程以及sql数据库调用和程序代码调用相关的知识,希望对你有一定的参考价值。

 

1、存储过程,无参数的存储过程

创建无参数存储存储过程

Create Procedure DCEMREMR_TEMPLATE
As
SELECT TOP 10 [FILENAME],[FILETITLE],[FILECONTENT] from [DCEMR].[dbo].[EMR_TEMPLATE];

调用无参数存储存储过程

sql 数据库中的额调用  exec DCEMREMR_TEMPLATE;

sql程序代码调用

//无参数存储过程
string connecting = "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=DCEMR";
SqlConnection theConnect = new SqlConnection(connecting);
theConnect.Open();
SqlCommand theCommand = theConnect.CreateCommand();
theCommand.CommandText = "DCEMREMR_TEMPLATE";
theCommand.CommandType = CommandType.StoredProcedure;
SqlDataReader theReader = theCommand.ExecuteReader();
while (theReader.Read())
{
string xx = theReader.GetString(0).ToString();
}
theConnect.Close();

 

2、有参数存储过程,无返回值

创建有参数存储存储过程,无返回值

Go
Create Procedure DCEMREMRTEMPLATE100
@filename nvarchar(500)
As
SELECT [FILENAME],[FILETITLE],[FILECONTENT] from [DCEMR].[dbo].[EMR_TEMPLATE] where [FILEname][email protected];

调用有参数存储过程,无返回值

sql 数据库中的额调用  exec DCEMREMRTEMPLATE100 ‘新建目录’;

sql程序代码调用

//有参数存储过程,无返回值
string connecting = "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=DCEMR";
SqlConnection theConnect = new SqlConnection(connecting);
theConnect.Open();
SqlCommand theCommand = theConnect.CreateCommand();
theCommand.CommandText = "DCEMREMRTEMPLATE101";
theCommand.CommandType = CommandType.StoredProcedure;
theCommand.Parameters.Add("@filename",SqlDbType.NVarChar);
theCommand.Parameters["@filename"].Value = "新建目录";
SqlDataReader theReader = theCommand.ExecuteReader();
while (theReader.Read())
{
string xx = theReader.GetString(0).ToString();
}
theConnect.Close();

3、有参数存储过程,有返回值(参数@filename,返回参数@Rowcount)

创建有参数存储过程,有返回值

Go
Create Procedure DCEMREMRTEMPLATE101
@filename nvarchar(500),
@Rowcount int output
As
SELECT [FILENAME],[FILETITLE],[FILECONTENT] from [DCEMR].[dbo].[EMR_TEMPLATE] where [FILEname][email protected]
set @[email protected];

调用参数存储存储过程,有返回值

sql 数据库中的额调用  exec DCEMREMRTEMPLATE101 ‘新建目录’,2;

sql程序代码调用

//有参数存储过程
string connecting = "Data Source=localhost;Integrated Security=SSPI;Initial Catalog=DCEMR";
SqlConnection theConnect = new SqlConnection(connecting);
theConnect.Open();
SqlCommand theCommand = theConnect.CreateCommand();
theCommand.CommandText = "DCEMREMRTEMPLATE101";
theCommand.CommandType = CommandType.StoredProcedure;
theCommand.Parameters.Add("@filename",SqlDbType.NVarChar);
theCommand.Parameters["@filename"].Value = "新建目录";
theCommand.Parameters.Add("@Rowcount", SqlDbType.Int);
theCommand.Parameters["@Rowcount"].Direction = ParameterDirection.Output;
//theCommand.Parameters["@Rowcount"].Value = 2;

//theCommand.ExecuteNonQuery();
object ss = theCommand.ExecuteScalar();
//MessageBox.Show( theCommand.Parameters["@Rowcount"].Value.ToString());
SqlDataReader theReader = theCommand.ExecuteReader();
while (theReader.Read())
{
string xx = theReader.GetString(0).ToString();
}
theConnect.Close();

 

以上是关于存储过程具体过程以及sql数据库调用和程序代码调用的主要内容,如果未能解决你的问题,请参考以下文章

oracle SQL语句中怎么样调用存储过程

oracle dblink调用SQL SERVER存储过程,有具体样例吗

SQL的存储过程 语法格式是啥?

SQL中的存储过程,函数,视图有啥区别?

SQL Server 数据库的维护(上)_存储过程(procedure)

mysql的存储过程和触发器的使用 以及php中的调用方法