黑马程序员技术交流社区
标题:
.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:
//检索记录操作
String connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = new SqlCommand("GetStudentName1", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@name", "丽丽");
object i = cmd.ExecuteScalar();
Console.WriteLine(i);
}
}
复制代码
可是我不知道怎么能把下面的ExcuteXmlReader()通过存储过程运行!
String connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = "select * " + "from [person] for XML AUTO";
XmlReader xr = cmd.ExecuteXmlReader();
xr.Read();
string data;
do
{
data = xr.ReadOuterXml();
if (!string.IsNullOrEmpty(data))
Console.WriteLine(data);
}
while (!string.IsNullOrEmpty(data));
conn.Close();
}
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2