黑马程序员技术交流社区

标题: .net中运行一个SQL Sever的存储过程!? [打印本页]

作者: 傅涌钦    时间: 2011-12-29 18:23
标题: .net中运行一个SQL Sever的存储过程!?
本帖最后由 傅涌钦 于 2012-1-1 16:35 编辑

.net中运行一个SQL Sever的存储过程!?
作者: 傅涌钦    时间: 2011-12-29 18:26
create procedure GetStudentName2
@name nvarchar(50)
as
select *from person where @name=name
go

存储过程已经在本地数据库建好,在.NET运行怎么实现呢!?
作者: 张涛    时间: 2011-12-30 13:23
直接用sql help 执行存储过程,
作者: 傅涌钦    时间: 2011-12-30 23:40
张涛 发表于 2011-12-30 13:23
直接用sql help 执行存储过程,

我的意思是:在.net中命令行不用SQL文本字符串,而是使用一个存储过程;我前天看到存储过程有好多好处:效率解释执行的SQL语句效率快,降低了客户和服务器之间的通信量等;我就想试试(下面是检索一个元组中的一个分量值!)
比如:
存储过程:
create procedure GetStudentName1
@name nvarchar(50)
as
select *from person where @name=name
go

C# Code:
  1. //检索记录操作

  2.             String connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;

  3.             using (SqlConnection conn = new SqlConnection(connstr))
  4.             {

  5.                 conn.Open();

  6.                 using (SqlCommand cmd = new SqlCommand("GetStudentName1", conn))
  7.                 {

  8.                     cmd.CommandType = CommandType.StoredProcedure;
  9.                     cmd.Parameters.AddWithValue("@name", "丽丽");
  10.                     object i = cmd.ExecuteScalar();
  11.                     Console.WriteLine(i);



  12.                 }
  13.             }
复制代码
可是我不知道怎么能把下面的ExcuteXmlReader()通过存储过程运行!
  1. String connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;

  2.             using (SqlConnection conn = new SqlConnection(connstr))
  3.             {

  4.                 conn.Open();

  5.                 using (SqlCommand cmd = conn.CreateCommand())
  6.                 {

  7.                     cmd.CommandText = "select * " + "from [person] for XML AUTO";
  8.                     XmlReader xr = cmd.ExecuteXmlReader();
  9.                     xr.Read();
  10.                     string data;
  11.                     do
  12.                     {
  13.                         data = xr.ReadOuterXml();
  14.                         if (!string.IsNullOrEmpty(data))
  15.                             Console.WriteLine(data);
  16.                     }
  17.                     while (!string.IsNullOrEmpty(data));
  18.                     conn.Close();




  19.                 }
  20.             }
复制代码





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2