大家好,
我在很长一段时间内遇到了一些困惑,基本上使用T-SQL来构建DateTime SQL类型.基本上,我想将DateTime值设为2008-12-1 14:30:12并将其设为2008-12-1 00:00:00.我们为报告运行的很多查询在WHERE子句中使用了一个日期值,但是我有一天的开始和结束日期值并且使用BETWEEN,或者我找到了一些其他方法.
目前我正在使用以下内容:
WHERE CAST(CONVERT(VARCHAR, [tstamp], 102) AS DATETIME) = @dateParam
然而,这看起来有点笨重.我希望会有更简单的东西
CAST([tstamp] AS DATE)
有些地方在网上推荐使用DATEPART()函数,但最后我得到了这样的结果:
WHERE DATEPART(year, [tstamp]) = DATEPART(year, @dateParam)
AND DATEPART(month, [tstamp]) = DATEPART(month, @dateParam)
AND DATEPART(day, [tstamp]) = DATEPART(day, @dateParam)
也许我过分关注小事,如果是的话请告诉我.我只是想确保我写的东西尽可能高效.我想消除任何薄弱环节.
有什么建议?
谢谢,
C
感谢大家的好评.很多有用的信息.我将改变我们的功能以消除操作员左侧的功能.虽然我们的大多数日期列都不使用索引,但它可能仍然是一种更好的做法.
我无法让LINQ将某些内容翻译成我需要的查询.在T-SQL中,我们对作为CHAR(6)列的三列进行<=和> =比较.LINQ不允许我这样做
运算符'<='不能应用于'string'类型的操作数为'string'.
我有以下T-SQL查询..
SELECT *
FROM [ZIPMASTER] zm
WHERE zm.CORP = 12
AND '85546 ' BETWEEN zm.ZIPBEG AND zm.ZIPEND
Run Code Online (Sandbox Code Playgroud)
以上不是LINQ友好,因为没有支持BETWEEN.因此,我简化为以下内容:
SELECT *
FROM [ZIPMASTER] zm
WHERE zm.CORP = 12
AND zm.ZIPBEG <= '85546 '
AND zm.ZIPEND >= '85546 '
Run Code Online (Sandbox Code Playgroud)
我曾经用它来创建以下LINQ查询:
var zipLinqQuery =
from z in db.ZIPMASTERs
where z.CORP == 12
&& z.ZIPBEG <= "85546 "
&& z.ZIPEND >= "85546 "
select z;
List<ZIPMASTER> zips = zipLinqQuery.ToList<ZIPMASTER>();
Run Code Online (Sandbox Code Playgroud)
C# - LINQ不太喜欢这个查询.我尝试转换为整数然后进行比较,但在某些情况下,邮政编码可能包含一个字母.例如,以下表达式将在T-SQL中评估为true:
WHERE '85546B' BETWEEN '85546A' AND '85546D'
Run Code Online (Sandbox Code Playgroud)
我不知道为什么它在T-SQL中有效,但我的猜测是它通过将数组转换为数字ASCII值来单独比较数组中的每个字符. …
大家好,
对不起,这是一个菜鸟问题.我只是不知道如何说出这个过程,所以我不确定谷歌会采取什么措施.我将在下面放一些C#代码来解释我正在尝试做什么.我只是不知道如何在VB中做到这一点.另外,对于将来的参考,如果你能告诉我这个过程被称为什么,那么知道它会很有帮助.在此先感谢您的帮助.
// Here is a simple class
public class FullName
{
public string First { get; set; }
public char MiddleInintial { get; set; }
public string Last { get; set; }
public FullName() { }
}
/* code snipped */
// in code below i set a variable equal to a new FullName
// and set the values in the same line of code
FullName fn = new FullName() { First = "John", MiddleInitial = 'J', Last …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用JQuery创建一个对话框窗口.到目前为止我正在取得进展,但是遇到了一些iframe问题...我知道iframe通常不赞成,但它们是唯一能满足项目要求的东西.
无论如何,我可以成功实现可调整大小和可拖动的插件,但是如果用户拖动到快速并且鼠标悬停在对话框内部div中包含的iframe上,我会遇到问题.有点难以解释,但下面的代码应该有助于显示正在发生的事情.
几乎看起来,一旦鼠标越过iframe,iframe就会窃取mousedown事件的焦点.我想知道是否有任何办法解决这个问题.
谢谢,克里斯
<div id="container" style="border: solid 1px Black; padding: 10px 10px 10px 10px; height: 520px; width: 420px;">
<iframe id="if" src="http://google.com" style="width: 400px; height: 500px;"></iframe>
</div>
<script type="text/javascript" src="jquery-1.2.6.js"></script>
<script type="text/javascript" src="jquery.ui.all.js"></script>
<script type="text/javascript">
$(document).ready(function()
{
$("#container").draggable();
$("#container").resizable(
{
alsoResize: "#if"
}
).parent().draggable();
}
);
Run Code Online (Sandbox Code Playgroud)
编辑:为了运行应用程序,需要下载代码中引用的jquery文件.但代码应该与以前的版本向后兼容.
编辑:我稍微改变了代码以简化一些事情.
编辑:我找到了一种通过使用原型窗口库来解决此问题的替代方法.我宁愿使用jQuery而不是原型,因为许多基准测试都要好得多,但由于我的时间紧张,原型路由会做.如果有人有一些建议,我仍然有兴趣搞清楚这一点.再次感谢你的帮助.
编辑:如果我将iframe更改为div,上面的代码完美无瑕.这个问题似乎只是涉及可拖动和可调整大小的扩展功能的方式.
我在Visual Studio TFS中遇到分支问题.这可能是由于我正在开发的方法,但如果是这种情况,请让我知道分支的最佳实践是什么,我将改变我们的程序.
大约一个月前,我分支了一个项目,以便我可以开始开发新版本的Web应用程序,但是我不希望应用程序的主干线受到我的更改的影响,因为我测试并尝试将其转换为生产水平状况.
因此,几天前,我们意识到在生产中运行的当前版本的应用程序存在一些错误.我修复了主分支上的这些错误,重新部署了Web应用程序,并检查了主应用程序主干的错误修复.这就是问题所在.现在主干有bug修复,但我的新版本分支没有.
这是我的问题:我如何进行版本比较或类似的东西来修复分支项目中的错误?
我可能会做一些不平凡的事情.这是由于我对分支和开发生命周期缺乏了解.如果您在开发商店中有更好的方法,请告诉我.
干杯,
C
我有一些问题抛出一个LINQ查询,将根据邮政编码加入一个表.我需要根据客户的邮政编码是否包含在由ZIPBEG和ZIPEND列确定的一系列邮政编码中来加入表格.
T-SQL看起来像这样:
JOIN [ZipCodeTable] [zips]
ON [customer].[zipcode] BETWEEN [zips].[ZIPBEG] AND [zips].[ZIPEND]
-- or
JOIN [ZipCodeTable] [zips]
ON [zips].[ZIPBEG] <= [customer].[zipcode]
AND [zips].[ZIPEND] >= [customer].[zipcode]
Run Code Online (Sandbox Code Playgroud) 对不起,这篇文章的标题可能具有误导性.目前还没有想到更好的事情.
无论如何,我有一个站点设置,允许用户搜索我们的客户数据库.我在"报告"目录下列出了该网站的单独部分,该部分用于生成计费报告,订阅者计数等.显然,我们的用户对于必须在网址上输入报告文件夹感到困惑:http:// maindomain/reports /.
我想知道是否有办法创建一个指向该特定文件夹的新域.换句话说,用户转到http:// reportsdomain /,这将是http:// maindomain/reports /的别名.我考虑过的解决方案如下:
在这两个选项中,我可能会在1之前选择2.还有其他方法可以做到这一点,我没有想到吗?
在此先感谢您的帮助.
尊敬,
克里斯
在一句话中,我最终需要知道的是如何在中间层函数之间共享对象,而不需要应用程序层来传递数据模型对象.
我正在为我正在为之工作的公司在当前环境中构建中间层.目前,我们主要使用.NET进行编程,并围绕所有各种数据库系统(包括Oracle,OpenLDAP,MSSQL等)构建自定义数据模型.
我遇到了一些问题,试图将我们的模型从应用程序层拉出来并将其转移到一系列中间层库中.我遇到的主要问题是应用程序层有挂到一个缓存的对象在整个过程的持续时间,并根据缓存的数据更新的能力,但中间层的操作没有.
我试图保持模型的对象了应用,尽可能的让我们做出改变的基础数据库结构,我们可以编辑和轻松部署中间层和多个应用程序也不会需要重建.我将简要介绍伪代码中的问题,因为这是我们开发人员最了解的:)
main
{
MidTierServices.UpdateCustomerName("testaccount", "John", "Smith");
// since the data takes up to 4 seconds to be replicated from
// write server to read server, the function below is going to
// grab old data that does not contain the first name and last
// name update.... John Smith will be overwritten w/ previous
// data
MidTierServices.UpdateCustomerPassword("testaccount", "jfjfjkeijfej");
}
MidTierServices
{
void UpdateCustomerName(string username, string first, string last)
{
Customer custObj = DataRepository.GetCustomer(username);
/*******************
validation checks and …Run Code Online (Sandbox Code Playgroud) 我正在组建一家小型创业公司,该公司将建立一个基于订阅的计费模式.该法案将按月或按季度发送给客户,具体取决于最终用户的偏好.我的问题是两个分手:
我是在线计费的新手,在第三方账单支付方面,我只是真正了解Pay Pal,但这看起来更像是一个结账系统.我敢肯定有比贝宝第三方计费处理器更好的替代品(我曾尝试谷歌搜索他们,但我无法找到正是我要找的). 有哪些选项(公司)可用于第三方支付处理以及您使用了哪些类型的体验(好的或坏的)?
我们希望为客户提供设置定期付款的能力.我宁愿不在我们的数据库中存储客户的信用卡号码,因为我认为有很多合规指导方针. 是否有针对定期付款处理的第三方解决方案?
另一方面,这不一定是与代码相关的问题,而是更注重业务.我不确定是否有更好的发布此问题的路线,如果我应该采取另一条路线,请通知或修改此问题.
我维护一个ASP.NET Web应用程序,它导致用户的网络连接在执行过程时重置几秒钟.因此,页面请求在用户端超时,因为它们从未收到Web应用程序的响应(连接在获得响应数据包之前就已消失).
为了解决这种情况,我正在考虑让ASP.NET页面执行一个包含A的异步函数.Thread.Sleep(5000); // sleep for 5 seconds before executing the connection reset这样,浏览器在连接重置之前有5秒钟的时间来接收页面的响应.
我担心在ASP.NET中使用Thread.Sleep和异步函数.我以前从未尝试过,所以我不确定它可能造成的潜在问题.有没有人看到启动包含Thread.SleepASP.NET应用程序中的异步线程的潜在问题?如果是这样,你能想到更好的解决方案吗?