| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1735 人关注过本帖
标题:请教 SqlDataSource 查询字段太多如何分行书写
只看楼主 加入收藏
taihongbo
Rank: 1
来 自:山东临沂
等 级:新手上路
帖 子:127
专家分:0
注 册:2004-11-15
收藏
 问题点数:0 回复次数:9 
请教 SqlDataSource 查询字段太多如何分行书写

<asp:SqlDataSource runat="server" ID="SqlDataSource1"

    SelectCommand=" SELECT A.[参数A], A.[时间], A.[受理人], A.[运单号], A.[起点], A.[终点], A.[中转地], A.[提货方式], A.[收货单位], A.[收货电话], A.[收货地址], A.[发货单位], A.[发货电话], A.[发货地址], A.[开户行], A.[账号], A.[开户人], A.[货物], A.[编号], A.[包装], A.[数量], A.[数量单位], A.[重量], A.[重量单位], A.[体积], A.[体积单位], A.[单价], A.[保额], A.[备注],A.[运输协议], B.[日期A], B.[制单A], B.[标志A], B.[状态A], B.[部门A], B.[备注A],  B.[日期B], B.[制单B], B.[标志B], B.[状态B], B.[部门B], B.[备注B] FROM [B1_货物信息] As A Left join B1_作业信息 As B On A.参数A=B.参数A  Where  B.日期A>=@日期1 And B.日期A<=@日期2 And B.部门A=@部门A And B.状态='发货端当日结算' ORDER BY B.日期A , A.运输协议 , A.运单号 DESC "
                     
    ConnectionString="<%$ ConnectionStrings:E_Office2000ConnectionString %>">
 
    <SelectParameters>
        <asp:SessionParameter Name="日期1" SessionField="DateFrom" Type="String" />
        <asp:SessionParameter Name="日期2" SessionField="DateToto" Type="String" />
        <asp:SessionParameter Name="部门A" SessionField="UserBmMc" Type="String" />
    </SelectParameters>
   
</asp:SqlDataSource>


--------标注红颜色的查询语句 想 写成

    SelectCommand=" SELECT A.[参数A], A.[时间], A.[受理人], A.[运单号], A.[起点], A.[终点], A.[中转地],
                           A.[提货方式], A.[收货单位], A.[收货电话], A.[收货地址], A.[发货单位], A.[发货电话],
                           A.[发货地址], A.[开户行], A.[账号], A.[开户人], A.[货物], A.[编号], A.[包装], A.[数量],
                           A.[数量单位], A.[重量], A.[重量单位], A.[体积], A.[体积单位], A.[单价], A.[保额], A.[备注], A.[运输协议],
                           B.[日期A], B.[制单A], B.[标志A], B.[状态A], B.[部门A], B.[备注A],  
                           B.[日期B], B.[制单B], B.[标志B], B.[状态B], B.[部门B], B.[备注B]
                   FROM [B1_货物信息] As A
                   Left join B1_作业信息 As B
                   On A.参数A=B.参数A  
                   Where  B.日期A>=@日期1 And B.日期A<=@日期2 And B.部门A=@部门A And B.状态='发货端当日结算'
                   ORDER BY B.日期A , A.运输协议 , A.运单号 DESC
                  "
这样看起来直观一些
但是 设计 源 状态 不可以

我想知到 换行 续写 符号 是什么?

谢谢!






搜索更多相关主题的帖子: 分行 字段 书写 查询 
2010-08-19 19:59
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
程序代码:
SelectCommand=" SELECT A.[参数A], A.[时间], A.[受理人], A.[运单号], A.[起点], A.[终点], A.[中转地], "
                           + "A.[提货方式], A.[收货单位], A.[收货电话], A.[收货地址], A.[发货单位], A.[发货电话], "
                           + "A.[发货地址], A.[开户行], A.[账号], A.[开户人], A.[货物], A.[编号], A.[包装], A.[数量],"
                           + "A.[数量单位], A.[重量], A.[重量单位], A.[体积], A.[体积单位], A.[单价], A.[保额], A.[备注], A.[运输协议], "
                           + "B.[日期A], B.[制单A], B.[标志A], B.[状态A], B.[部门A], B.[备注A],  "
                           + "B.[日期B], B.[制单B], B.[标志B], B.[状态B], B.[部门B], B.[备注B] "
                   + "FROM [B1_货物信息] As A "
                   + "Left join B1_作业信息 As B "
                   + "On A.参数A=B.参数A  "
                   + "Where  B.日期A>=@日期1 And B.日期A<=@日期2 And B.部门A=@部门A And B.状态='发货端当日结算'"
                   + "ORDER BY B.日期A , A.运输协议 , A.运单号 DESC "
          


飘过~~
2010-08-19 21:55
冰镇柠檬汁儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:北京
等 级:版主
威 望:120
帖 子:8078
专家分:6657
注 册:2005-11-7
收藏
得分:0 
这么长的SQL语句啊,建议楼主用StringBuilder拼接SQL语句,或者干脆写成存储过程

本来无一物,何处惹尘埃
It is empty at all here, Why pm 2.5 is so TMD high!
2010-08-19 22:20
Mark_hong
Rank: 2
等 级:论坛游民
帖 子:22
专家分:33
注 册:2010-7-28
收藏
得分:0 
回复 楼主 taihongbo
SelectCommand=@" SELECT A.[参数A], A.[时间], A.[受理人], A.[运单号], A.[起点], A.[终点], A.[中转地],
                           A.[提货方式], A.[收货单位], A.[收货电话], A.[收货地址], A.[发货单位], A.[发货电话],
                           A.[发货地址], A.[开户行], A.[账号], A.[开户人], A.[货物], A.[编号], A.[包装], A.[数量],
                           A.[数量单位], A.[重量], A.[重量单位], A.[体积], A.[体积单位], A.[单价], A.[保额], A.[备注], A.[运输协议],
                           B.[日期A], B.[制单A], B.[标志A], B.[状态A], B.[部门A], B.[备注A],  
                           B.[日期B], B.[制单B], B.[标志B], B.[状态B], B.[部门B], B.[备注B]
                   FROM [B1_货物信息] As A
                   Left join B1_作业信息 As B
                   On A.参数A=B.参数A  
                   Where  B.日期A>=@日期1 And B.日期A<=@日期2 And B.部门A=@部门A And B.状态='发货端当日结算'
                   ORDER BY B.日期A , A.运输协议 , A.运单号 DESC
                  "
“SelectCommand=”后加上@就可以了。
2010-08-20 15:39
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
Mark_hong的方法更方便,呵呵。
不过这么长的sql语句,用存储过程最好。

飘过~~
2010-08-20 15:45
wzlz
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-8-21
收藏
得分:0 
同意4楼道意见,在“……”之前加@符号即可
2010-08-21 10:10
yms123
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:209
帖 子:12488
专家分:19042
注 册:2004-7-17
收藏
得分:0 
不知道要查询什么,这么长的SQL语句?两个表联合查询也好像没必要写这么多字段吧?如果字段确实是这两个表全部的字段的话。
2010-08-21 16:18
Sha_1224
Rank: 1
等 级:新手上路
帖 子:5
专家分:7
注 册:2010-7-2
收藏
得分:0 
同意3楼的方法,用tringBuilder拼接字符串和用存储过程,还可以创建视图再查询视图!
仅供参照:
public int UpdateABook(Books book)
         {
          StringBuilder sql = new StringBuilder();
            sql.Append("update Books  set [Title]=@title");
            sql.Append(",[Author]=@author,[PublisherId]=@publisherId");
            sql.Append(",[PublishDate]=@publishDate,[ISBN]=@iSBN,[WordsCount]=@wordsCount");
            sql.Append(",[UnitPrice]=@unitPrice,[ContentDescription]=@ContentDes,[AurhorDescription]=@autorDes");
            sql.Append(",[EditorComment]=@editComm,[TOC]=@tOC,[CategoryId]=@cateId,[Clicks]=@clicks ");
            sql.Append (" where  Id=@bookId");


            SqlParameter[] param = new SqlParameter[]{
                new SqlParameter("@bookId",book .Id),
                new SqlParameter("@title",book .Title ),
                new SqlParameter("@author",book.Author),
                new SqlParameter("@publisherId",book.Publisher.Id),
                new SqlParameter("@publishDate",book .PublishDate),
                new SqlParameter("@iSBN",book.ISBN),
                new SqlParameter("@wordsCount",book.WordCount),
                new SqlParameter("@unitPrice",book.UnitPrice),
                new SqlParameter("@ContentDes",book.ContentDescription),
                new SqlParameter("@autorDes",book.AurhorDescription),
                new SqlParameter("@editComm",book.EditorComment),
                new SqlParameter("@tOC",book.TOC),
                new SqlParameter("@cateId",book.Category.Id),
                new SqlParameter("@clicks",book.Clicks)
         };

            return SqlHelper.ExecuteSql(sql .ToString (),param);
    }

[ 本帖最后由 Sha_1224 于 2010-8-22 18:13 编辑 ]
2010-08-22 18:10
Issac_abc
Rank: 4
来 自:河南
等 级:业余侠客
威 望:2
帖 子:155
专家分:218
注 册:2010-6-17
收藏
得分:0 
最好用存储过程:同意四楼。
2010-08-28 09:50
快速回复:请教 SqlDataSource 查询字段太多如何分行书写
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017999 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved