VerySource

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

“菜鸟级"SqlDataSource动态设置问题!谢谢!!

[复制链接]

2

主题

11

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
发表于 2020-1-8 23:20:01 | 显示全部楼层 |阅读模式
我用SqlDataSource 绑定到GridView中。因为我的SqlDataSource中的Select是动态的。比如:select a,b,c from xxx,有时候是:select b,c from xxx

sqlstr是我生成的SQL语句:
sqlstr="Select aa,bb From Guest WHERE (PublicName = @PublicName) AND (PType = @PType)"

DefineTypeDS 是SqlDataSource,是我在设计页面中拖的一个SqlDataSource控件。名称叫DefineTypeDS.
DefineTypeDS.SelectCommand = sqlstr;

        DefineTypeDS .SelectParameters .Clear ();
        DefineTypeDS.SelectParameters.Add(new Parameter ("@PublicName",TypeCode.String ));
        DefineTypeDS.SelectParameters.Add("@PType", "");
        DefineTypeDS.SelectParameters["@PublicName"].DefaultValue ="username";
        DefineTypeDS.SelectParameters["@PType"].DefaultValue = "newguest";
      
        //程序执行到此处的时候,就报错:必须声明变量 '@PublicName'
        DefineTypeDS.Select(DataSourceSelectArguments.Empty);]

不解!请高手帮助。谢谢!!
回复

使用道具 举报

2

主题

11

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-1-21 11:45:02 | 显示全部楼层
自己TOP。。
回复

使用道具 举报

0

主题

6

帖子

5.00

积分

新手上路

Rank: 1

积分
5.00
发表于 2020-1-21 14:09:01 | 显示全部楼层
郁闷.这个问题你也要问.那你就声明@PublicName 好了.
回复

使用道具 举报

0

主题

8

帖子

4.00

积分

新手上路

Rank: 1

积分
4.00
发表于 2020-1-21 16:54:02 | 显示全部楼层
回复

使用道具 举报

4

主题

24

帖子

17.00

积分

新手上路

Rank: 1

积分
17.00
发表于 2020-1-22 07:45:01 | 显示全部楼层
声明@PublicName
回复

使用道具 举报

2

主题

11

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-1-24 10:18:01 | 显示全部楼层
晕说了半天。我就是问怎么声明?在哪儿声明?
回复

使用道具 举报

0

主题

58

帖子

32.00

积分

新手上路

Rank: 1

积分
32.00
发表于 2020-1-24 22:45:01 | 显示全部楼层
DefineTypeDS.Select(new DataSourceSelectArguments());
回复

使用道具 举报

2

主题

11

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-1-25 16:45:01 | 显示全部楼层
DefineTypeDS.Select(new DataSourceSelectArguments());


不是这个问题。试过了。还是不对。
回复

使用道具 举报

2

主题

11

帖子

11.00

积分

新手上路

Rank: 1

积分
11.00
 楼主| 发表于 2020-1-29 20:45:02 | 显示全部楼层
DefineTypeDS .SelectParameters .Clear ();
        DefineTypeDS.SelectParameters.Add(new Parameter ("PublicName",TypeCode.String ));
        DefineTypeDS.SelectParameters.Add("PType", "");
        DefineTypeDS.SelectParameters["PublicName"].DefaultValue ="username";
        DefineTypeDS.SelectParameters["PType"].DefaultValue = "newguest";

自己试出来了。把@PublicName 前面的@去掉就行了。不知道为什么。
回复

使用道具 举报

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

本版积分规则

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

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