Select 亚音速帮助,如何仅列出第一条记录
嗨,我正在用亚音速做一个小报告,我很好,我不知道如何在我的报告中只列出第一条记录,我正在做一些类似于:Select 亚音速帮助,如何仅列出第一条记录,select,subsonic,new-operator,subsonic2.0,Select,Subsonic,New Operator,Subsonic2.0,嗨,我正在用亚音速做一个小报告,我很好,我不知道如何在我的报告中只列出第一条记录,我正在做一些类似于: new Select("id,Name,place,group").From(User.Schema) .InnerJoin(Profile.Schema) .InnerJoin(userGroup.Schema)
new Select("id,Name,place,group").From(User.Schema)
.InnerJoin(Profile.Schema)
.InnerJoin(userGroup.Schema)
.Where("place")
.IsEqualTo("insomeplace")
.ExecuteReader();
result:
093007 Joe doe insomeplace S2A
093007 Joe doe insomeplace S2A
093007 Joe doe insomeplace S2A
093007 Joe doe insomeplace S2A
我尝试了新选择(“bla-bla”).Distinct()新选择(“bla-bla”).Top(“1”),但这些似乎都不起作用。。。那我能做什么呢???有什么想法吗
当使用Top(“1”)时,我收到一个错误,上面说“您的SQL语法有错误;请检查与您的MySQL服务器版本对应的手册,以了解在'1user
id
,user
Name
,Place,Place附近使用的正确语法
从用户
“在第1行”
我用的是亚音速2.x
提前感谢退出!!!!我提议使用
string sqlString = "Select * ...";
new InlineQuery().ExecuteReader(sqlString);
根据你问题中的参考资料,我假设你正在使用MySql。恐怕我对MySql了解不多,但以下内容可能会有所帮助:
我不能百分之百确定是否必须使用
Paged(1,1)
或Paged(0,1)
,请两者都尝试。另一种方法是使用.ExecuteSingle()
,这将只返回第一个结果。这样做的缺点是,数据库实际上会返回查询的所有行(亚音速只会丢弃除第一条记录以外的任何记录)。感谢您的回答和您的时间,我将尝试您的示例,我在过去几天中解决问题的方法是:字符串SQLPlaceSnall=“从用户中选择名称、地点、地点”;gv.DataSource=new InlineQuery().ExecuteReader(sqlplacesnall);gv.DataBind();我使用的是分组方式,我读到的是。Top适用于较旧版本的2.x亚音速…我希望在接下来的几个月内更改为3.0…再次感谢…您也可以将分组方式与亚音速一起使用:new Select(subsonic.Aggregates.GroupBy(“id”)、subsonic.Aggregate.GroupBy(“name”)、…)。From(…)
oohh nice不知道…但是昨天我抓到了我的VS 2010 Sooo的新版本…是亚音速3.x时间;)谢谢你的支持谢谢….!!!我所做的是使用group by和InlineQuery方法解决了这个问题。。。
new Select("id,Name,place,group").From(User.Schema)
.InnerJoin(Profile.Schema)
.InnerJoin(userGroup.Schema)
.Where("place")
.Paged(1, 1)
.IsEqualTo("insomeplace")
.ExecuteReader();