我不像我想的那样熟悉Oracle.我有大约250k的记录,我想每页显示100个.目前,我有一个存储过程,它使用数据适配器和数据集以及dataadapter.Fill(dataset)方法从存储过程的结果中检索数据集中的所有25万条记录.如果我将"页码"和"每页记录数"作为整数值,我可以作为参数传递,那么返回该特定部分的最佳方法是什么.比方说,如果我将10作为页码传递,120作为页数,则从select语句中将它给予我1880到1200,或类似的东西,我脑子里的数学可能会关闭.
我在.NET中用C#做这个,认为这不重要,如果我能在sql端正确,那我就应该很酷.
更新:我能够使用Brian的建议,而且效果很好.我想进行一些优化,但页面会在4到5秒而不是一分钟内出现,我的分页控件能够与我的新存储过程很好地集成.
我正在寻找一个备忘单,这将允许我向HTML设计师展示标准HTML标签的等效asp.net控件.例如,<asp:Panel>将呈现为HTML <div>,<asp:Label>将呈现为HTML <span>.我一直在谷歌上搜索无济于事.有人可以发布一个好的备忘单链接,以便该项目的设计者能够更清楚地理解aspx页面上的标记.
为了清楚起见,我想要一个主要ASP.NET控件列表的链接,并描述它们与标准HTML的关系.如果这是PDF格式或易于阅读和打印的网页,那将是很棒的.在我的例子中,原因是我们有一个非常熟悉HTML的PHP开发人员来处理我们的项目,我觉得如果可以的话,更好地理解标准的ASP.NET服务器控件会很有用.递给他这样一个"备忘单".
我主要是指.NET 2.0框架,但我们也在使用3.0/3.5.
哇,我刚从外包开发人员那里拿回了一个C#的大项目,在进行我的代码审查时,我的分析工具揭示了它被认为是坏东西的一堆.其中一个令人沮丧的消息是:
Exceptions.DontSwallowErrorsCatchingNonspecificExceptionsRule : 2106 defects
Run Code Online (Sandbox Code Playgroud)
开发人员向我保证他们有充分的理由使用所有空的catch块,有时候使用空catch块的尝试只是忽略无用的异常并使应用程序不会崩溃.我觉得这是一个警察和完整的BS.我实际查找的一些示例是数据库调用,其中记录被保存到数据库,在这种情况下,如果忽略异常,用户将返回一个正常的提示,认为一切正常,并继续他们的工作.实际上,他们的工作从未得到保存.我认为这绝对是最可怕的错误.在这种情况下,在使用空catch块的try中抛出该代码是完全错误的.但我的问题是,"这种情况在任何情况下都可以接受吗?" 我想不是,但我知道错了.
我有一个虚拟路径(例如:"〜/ Images/Banner.jpg"),我想让它成为一个绝对的Web路径(例如:"/ ApplicationRoot/Images/Banner.jpg").有一种方法可以做到这一点,我相信一个叫做HTTPUtility或类似名称的类.虽然我有时间需要这种方法,但我需要花费数小时的时间来搜索它.非常感谢有人可以发布正确的方法来做到这一点,所以我可以喜欢这个以便将来轻松访问.
非常感谢你.
我试图将一个项目添加到关联数组的开头.我认为最好的方法是使用array_merge,但我有一些奇怪的后果.我从mysql数据库中获取了产品的id和名称,并将其作为关联数组返回,如此(不是实际数据返回,而是此问题的示例数据,表示数据的大致外观):
$products = array (1 => 'Product 1', 42 => 'Product 42', 100 => 'Product 100');
Run Code Online (Sandbox Code Playgroud)
这将被发送到一个html助手,以创建一个将键与值相关联的下拉列表,并将数组项的值设置为下拉选择控件中的文本.我需要第一个项目是"请选择",键为0,所以我这样做:
$products = array_merge(array(0 => "Select a product" ), $products);
Run Code Online (Sandbox Code Playgroud)
结果数组如下所示:
array(
0 => 'Select a product',
1 => 'Product 1',
2 => 'Product 42',
3 => 'Product 100'
);
Run Code Online (Sandbox Code Playgroud)
当我真正想要的是不丢失关联数组的键.有人告诉我,你可以适当地在我尝试的方式使用array_merge与关联数组,但是,我相信,因为我的键是整数,它不是处理数组作为一个真正的关联数组,并如上图所示对其进行压缩.
问题是:为什么array_merge函数会更改项目的键?我可以阻止这样做吗?或者还有另一种方法可以让我完成我想要做的事情,在数组的开头添加新项目吗?
我确信这个问题可以解决上一个问题中提出的问题,但我无法找到它.
C#类中有一个方法,它将基类的通用List作为参数.我需要传递一个继承类的列表,并且不知道如何执行此操作.我的尝试中出错了.以下是示例代码:
public class A
{
public static void MethodC(List<A>)
{
// Do Something here with the list
}
}
public Class B : A
{
// B inherits from A, A is the Base Class
}
// Code utilizing the above method
List<B> listOfB = new List<B>();
A.MethodC( (List<A>) listOfB ); // Error: this does not work
A.MethodC( listOfB.ToList<typeof(A)>() ); // Error: this does not work
A.MethodC( listOfB.ConvertAll<A>(typeof(A)) ); // Error: this does not work
// how can I …
Run Code Online (Sandbox Code Playgroud) ZeroC的ICE(www.zeroc.com)看起来很有趣,我有兴趣查看它并将其与我们使用WCF的现有软件进行比较.特别是,我们的WCF应用程序使用服务器回调(通过HTTP).
谁比较了他们?怎么回事?我对性能方面特别感兴趣,因为互操作性现在并不是我们关注的问题.谢谢!
我知道有很多关于这个的帖子,我已经浏览了所有这些我的搜索并实现了所提到的所有内容.我有一个WCF Web服务,可以在我的本地系统上使用HTTP,它可以在HTTP上的服务器上运行.但客户端要求通过HTTPS工作.这个站点和其他站点上的帖子的镜像表明,这并不像应该的那样直截了当,因为在此之前,ASMX Web服务"只是工作"并且不需要复杂的配置.
我的当前配置出现以下错误:
找不到与绑定WSHttpBinding的端点的方案https匹配的基址.注册的基地址方案是[http].
这是我这段时间的代码,经过几天的努力来配置这个工作无济于事:
<system.serviceModel>
<!-- -->
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" >
<baseAddressPrefixFilters>
<add prefix="https://mysite.com"/>
<add prefix="http://mysite.com"/>
</baseAddressPrefixFilters>
</serviceHostingEnvironment>
<!-- Set up Custom Behaviors -->
<behaviors>
<endpointBehaviors>
</endpointBehaviors>
<serviceBehaviors>
<behavior name="WebPostService.WebPostServiceBehavior">
<serviceMetadata httpsGetEnabled="true" httpsGetUrl="WebPostServices.svc/mex" />
<serviceDebug includeExceptionDetailInFaults="false" />
</behavior>
</serviceBehaviors>
</behaviors>
<!-- Set up the binding configuration -->
<bindings>
<wsHttpBinding>
<binding name="SOAPBinding"
>
<security mode="Transport">
</security>
</binding>
</wsHttpBinding>
</bindings>
<services>
<service
behaviorConfiguration="WebPostService.WebPostServiceBehavior"
name="WebPostService.WebPostService"
>
<host>
<baseAddresses>
<add baseAddress="https://mysite.com/Services/WebPostService.svc"/>
</baseAddresses>
</host>
<endpoint address=""
binding="wsHttpBinding"
bindingConfiguration="SOAPBinding"
contract="WebPostService.IWebPostService"
>
<identity>
<dns value="mysite.com" /> …
Run Code Online (Sandbox Code Playgroud) 我只需要在一个月内返回所有日期的列表.我没有访问特定的表.所以如果给定2月份我需要一个sql select语句,返回以下内容:
Day
----
2011-02-01
2011-02-02
2011-02-03
... etc, etc.
2011-02-27
2011-02-28
Run Code Online (Sandbox Code Playgroud)
这应该是相当简单的,我想,如果我知道我需要做的sql select语句.这个月应该是可选择的,我会从网页选择框传递它,让用户选择月份和年份.这将成为报告的基础.我已经有了一个select语句,它将花费每一天并对与这些日期相关的记录进行计数,但我需要此表作为我的报告的基础.
"DataSource和DataSourceID都是在'grdCommunication'上定义的.删除一个定义."
我今天刚收到这个错误,代码一直工作到今天下午我发布了最新版本到我们的服务器,它在本地和服务器上都破坏了该错误.我不使用"DataSourceID",应用程序将数据库查询读入数据表并将数据表设置为GridViews上的DataSource.我在Visual Studio中进行了搜索,搜索整个解决方案,并且字符串"DataSourceID"在整个解决方案中甚至没有出现在1行代码中.这是吓坏我的第一件事.
我认为它昨天一直在工作,所以我将代码恢复到昨天的版本.错误仍然存在.我一直在回建筑,但问题仍然存在.我回去了一个月,我仍然得到同样的错误.这个应用今天早上工作正常吗?实际上没有代码更改,并且应用程序中的任何位置都没有在任何gridview上设置DataSourceID EVER.有没有人见过这样的东西?
如果从未设置DataSourceID,我怎么能得到那个错误...而且我的解决方案中没有"DataSourceID"这个词?我刚刚对整个树做了一个wingrep,对datasourceid进行了一个不区分大小写的搜索....绝对没有任何东西.在整个应用程序中,这个词绝对没有.
<asp:GridView ID="grdCommunication" runat="server"
Height="130px" Width="100%"
AllowPaging="true" >
... standard grid view column setup here...
</asp:GridView>
// Code behind.. to set the datasource
DataSet dsActivity = objCompany.GetActivityDetails();
grdCommunication.DataSource = dsActivity;
grdCommunication.DataBind();
Run Code Online (Sandbox Code Playgroud)
//更新:删除了一些令人困惑的笔记.