A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 傅涌钦 黑马帝   /  2011-12-29 18:23  /  1965 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 傅涌钦 于 2012-1-1 16:35 编辑

.net中运行一个SQL Sever的存储过程!?

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

3 个回复

倒序浏览
create procedure GetStudentName2
@name nvarchar(50)
as
select *from person where @name=name
go

存储过程已经在本地数据库建好,在.NET运行怎么实现呢!?
回复 使用道具 举报
张涛 黑马帝 2011-12-30 13:23:25
藤椅
直接用sql help 执行存储过程,

评分

参与人数 1技术分 +2 收起 理由
李荣壮 + 2

查看全部评分

回复 使用道具 举报
张涛 发表于 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.             }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马