存储过程问题

sayoath 2009-04-08 09:21:48
我输入的信息是
1564;6174;3746;1574;3597;或者是更多

这时我要调用存储过程 例如 :1564 这行的全部信息 ,得全部读出来

这个存储过程怎么写。怎么调用呀

select * from table where id=1564 怎么调用呀。能不能把值一下全传过去。。
...全文
78 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
lzf1988119 2009-04-08
  • 打赏
  • 举报
回复
首先拼ids 字符串
类似 ids = "1564,6174,3746,1574,3597";
再写sql语句 select * from tablename where id in ("+ids+")
就ok了
sayoath 2009-04-08
  • 打赏
  • 举报
回复
??
dd__dd 2009-04-08
  • 打赏
  • 举报
回复
select * from table where id in(1564,6174,3746,1574,3597)
传参数的时候用逗号分隔
踏雪听雨 2009-04-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 huixianghx 的回复:]
select * from table where id in(1564,6174,3746,1574,3597)
OK?
[/Quote]

参考这个语句,把分号都replace为逗号,应该可以实现你的要求
sayoath 2009-04-08
  • 打赏
  • 举报
回复
public DataSet Select_Persons(int SelectIndex,string ArrayWorkNum)
{
cmd = new SqlCommand("Select_Persons",conn);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add(new SqlParameter("@WorkNum", "8;5455;7628;1258"));//8;5455;7628;1258这里会有什么多值
cmd.ExecuteNonQuery();

MyAdapter = new SqlDataAdapter();
MyAdapter.SelectCommand = cmd;

DataSet ds = new DataSet();
MyAdapter.Fill(ds);

cmd.Dispose();
MyAdapter.Dispose();

return ds;
}

上边不是调用存储过程了嘛。。
我现在不知道存储过程怎么写。。select * into 集合 from table where id=1564 or id=6174 or id=3579
怎么实现类似于这样的例子 传进来的值怎么接收呀
huixianghx 2009-04-08
  • 打赏
  • 举报
回复
select * from table where id in(1564,6174,3746,1574,3597)
OK?
sayoath 2009-04-08
  • 打赏
  • 举报
回复

我是想把这些全传进去 1564;6174;3746;1574;3597;
返回多行。。
相当于这样的句子
select * into 集合 from table where id=1564 or id=6174 or id=3579

现是不知道怎么传。。传进去怎么取呀。。
sunhuaiwei 2009-04-08
  • 打赏
  • 举报
回复

在里面声明一个集合

select * into 集合 from table where id=1564

return 集合

在c#中接收不就行 了吗?

62,267

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧