VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 4307|回复: 34

存储过程接收多个参数问题 高手请进

[复制链接]

1

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-1-30 18:40:02 | 显示全部楼层 |阅读模式
用DataList做了个图片列表 想把选中的图片添加到专辑中
for (int i = 0; i < DataList1.Items.Count; i++)//循环DataList1的集合
{
    if( xx.checked)//如果图片被选中
      {
         int id=e.Item.FindControl("label1")//取出这个图片的ID
         int classid=1//专辑id
         ...........................//执行存储过程
      }
}

这是我的实现方法 这样循环判断哪个图片选中  如果选中 就把图片id 和专辑ID传到存储过程里 执行一次。如果有10个被选中了 就这个循环就执行10次存储过程 这样就修改了10条图片
如何做才能执行一次存储过程就把这10条数据修改。存储过程里应该怎么写

大侠们最好帖些代码。本人小菜鸟
回复

使用道具 举报

1

主题

10

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-3-7 18:15:01 | 显示全部楼层
我是想 存储过程能不能 接收一组数据 ?也就是  我在前段把选中的ID都取出来 一次传到存储过程里 这样就可以不用执行10次存储过程了
回复

使用道具 举报

0

主题

8

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-3-7 20:00:01 | 显示全部楼层
用一个参数
用特殊字符分开各项
在存储过程中用split再将各项分离
回复

使用道具 举报

0

主题

322

帖子

115.00

积分

新手上路

Rank: 1

积分
115.00
发表于 2020-3-8 12:30:02 | 显示全部楼层
存储过程可以接收多个参数,但参数数目是固定的。

有另外一个办法就是.

传一个字串。然后在存储过程中拆分。然生成sql
再exec 这个sql.
回复

使用道具 举报

0

主题

119

帖子

67.00

积分

新手上路

Rank: 1

积分
67.00
发表于 2020-3-8 14:00:02 | 显示全部楼层
拆分字符串!
回复

使用道具 举报

0

主题

322

帖子

115.00

积分

新手上路

Rank: 1

积分
115.00
发表于 2020-3-8 14:15:01 | 显示全部楼层
当然简单的办法是在程序中生成sql而不是用存储过程做。
回复

使用道具 举报

0

主题

4

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-3-8 14:45:01 | 显示全部楼层
create or replace type mytable   as   table   of   varchar2(1000);

调用mytable
回复

使用道具 举报

0

主题

6

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-3-8 19:30:01 | 显示全部楼层
CREATE PROCEDURE Test
    @idString NVARCHAR(1000)
AS
    DECLARE @sql NVARCHAR(2000)

    SET @sql = "UPDATE Images SET 是否专辑=1 WHERE (ImageID IN ('" + @idStrings + "')"

    exec @sql


@idStrings从你上面的代码组合,形式如下:
    imgeid1,imageid2,imageid3
回复

使用道具 举报

0

主题

14

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-3-9 13:45:01 | 显示全部楼层
如果传入的个数比较多,合并字符串自负长度超过4000,考虑使用Xml
回复

使用道具 举报

1

主题

8

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-3-9 17:00:02 | 显示全部楼层
楼上 ok
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表