在SQL Server 2005中存储旧日期(1753之前)的最佳/最有效方法是什么?我不关心存储时间 - 只是日期.SQL Server的日期时间数据类型只能保存日期回到1753年1月1日.MSDN文档声明有date和datetime2数据类型,但SQL Server Management Studio似乎不支持它们(错误:无效的数据类型).
将日期存储为"YYYYMMDD"形式的字符串或整数是多么低效?我在表中的两个日期字段(StartDate和EndDate)上进行了大量的查询和排序.
更新:
下面有一些建议将年,月和日期存储在不同的字段中.将零件存储在不同的字段而不是单个整数字段中有什么好处?
我编写了一个C#Windows窗体应用程序,用于将一台计算机上的远程文件夹中的文件和文件夹("source"文件夹是映射驱动器 - "Z:\ folder")与另一台计算机上的另一个远程文件夹("目标")合并folder是共享文件夹的UNC路径 - "\\ computername\sharedfolder").我对这两个文件夹都拥有完全权限.当我在本地计算机上运行该程序时,它运行正常,但是当我尝试从源文件夹中运行它时,它会因安全异常而失败.
调用目标文件夹的DirectoryInfo构造函数(即DirectoryInfo(@"\\ computername\sharedfolder")时发生故障.我认为问题是因为我从映射驱动器运行程序.任何解决方法?
具体的例外是:请求类型'System.Security.Permissions.FileIOPermission,mscorlib,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'的权限失败.
UPDATE
好吧,我把我的应用程序放到Visual Studio 2008中(以前编码在2005年),针对.NET 3.5框架,编译并再次尝试.
我得到了完全相同的错误.
更新 - 决议
我尝试使用.NET 3.5,它没有用,然后我注意到你说3.5 SP1.绝对需要服务包.
问题解决了.谢谢.
关于如何使您的iframe完全适合您的内容(使用JavaScript)的问题已在论坛上得到解答...... 对于仅显示来自同一域的内容的iframe.
我的问题:当iframe src属性用于包含框架的页面域之外的页面时,是否可以调整iframe的大小以适应内容?围绕跨站点脚本编写的浏览器安全功能阻止我访问iframe的文档对象.
我正在寻找任何有创意的解决方案.我的一个想法是以某种方式检测到在iframe上可见的滚动条,并逐渐增加高度,直到它们没有.不幸的是,我找不到任何方法来检测可见的滚动条.想法?
请注意,我正在寻找客户端解决方案.
对策:
问题仍然存在 - 我不知道远程文档的高度,所以我无法从数据库或查询字符串值设置它.
100%的CSS不会将其设置为内容的100%的iframe 中的iframe,但是相对于页面或含有元素(即一个div或东西).
我正在创建一个库,用于在Web服务器上处理HTTP上的客户端缓存(即处理If-Match,If-Modified-Since,If-None-Match和If-Unmodified- Since HTTP headers),以及我我正在研究ETags(实体标签).我的问题是ETag是区分大小写还是不区分大小写?我一直在查看RFC 2616(http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html)并且没有指定.
我只能假设这意味着他们应该区分大小写,但我想确保我遵循标准.
我有一个通用的词典,我用它作为线程.NET项目(C#)中的缓存.我将在字典上进行大量读取(在高峰时间可能每秒数百或更多).
我有一个简单的Get(int id)方法,如果它在缓存中,则返回一个CustomObject,否则返回null.
我的问题:锁定字典更快/更有效,还是只使用try/catch块?
假设字典存储在名为"dic"的变量中.
锁定样本:
public CustomObject Get(int id)
{
lock(dic)
{
if (dic.ContainsKey(id))
return dic[id];
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
试试/抓住样本:
public CustomObject Get(int id)
{
try
{
return dic[id];
}
catch
{
return null;
}
}
Run Code Online (Sandbox Code Playgroud) 在.NET中,对象中的方法数量或方法大小(即代码量)是否会影响对象在实例化时使用的内存量?
示例:具有3个int属性和1个方法的对象比具有3个int属性和20个方法的对象占用更多内存吗?
如果"是",静态方法会占用更少的内存吗?
请注意:我意识到实际调用方法可能会实例化其他将使用内存的对象或变量 - 我的问题仅仅涉及它们在调用构造函数后使用了多少内存.
我正在为C#(.NET)创建一个源代码生成器.生成永不被调用的属性或方法会导致我的代码运行得更慢吗?如何为不使用的库插入"using"语句?
我假设编译器足够聪明,不能构建未使用的"using"语句,但是它没有办法知道属性和方法,因为它们可以插入供外部应用程序使用.
标题说明了.我想要一个2列CSS布局:
如果窗口大于最大宽度,则内容将以页面的最大值为中心.如果窗口小于最大宽度,则内容将填充页面的100%,除非它小于最小宽度,这将使水平滚动条出现.
我愿意使用一些小的javascript来处理不支持这些属性的浏览器的最小/最大宽度(我正在看你IE6),但我只是愿意让这部分布局降级.
用桌子来简单下降.我已经看了几百个示例布局,没有什么可以做我要问的所有事情,尽管有几个接近.问题似乎是以相同的方式获得流畅的左列和源排序.我已经找到了几个固定的左/右流体(与我想要的相反)的例子,其具有适当的源顺序,或流体左/右固定而没有源顺序,但不是两者.
我不在乎它是否使用浮点数或负边距,但我想避免绝对定位.
+---------------------------------------+
| |
| +---------------------------+-----+ |
| |fluid |fixed| |
| | | | |
| | | | |
| +---------------------------+-----+ |
| |
+---------------------------------------+
Run Code Online (Sandbox Code Playgroud) 我正在尝试在Visual Studio 2013的两个单独的窗口/选项卡中打开一个大.aspx文件的源视图。此文件类型的“窗口>新窗口”选项显示为灰色。
我可以使用其他文件类型执行此操作,包括.cs,.css,.js等。
我曾尝试在单个Visual Studio会话中打开文件的两个实例(包括注册表编辑和自定义键盘快捷键)中的建议,但均未成功。是否有针对.aspx文件的特定注册表黑客或其他解决方案?
只是为了澄清,我不是要“拆分”文件。我的最终目标是在不同的垂直选项卡组中打开文件的两个副本。
OnSessionStart/Session_Start事件是否仍然只在服务器场环境中触发一次(总计),或者由于请求由多个服务器处理,每个服务器可以触发一次吗?
ASP.NET/IIS6或7
它应该不假定服务器使用粘性会话.
我试图在mySQL的列中匹配像'[sometext <someothertext>]'(即左方括号,文本,左尖括号,文本,右尖括号,右方括号)之类的字符串.最初我使用了以下查询(请注意,由于regex查询在mySQL中被转义两次,因此必须使用两个反斜杠,通常使用一个反斜杠):
SELECT * FROM message WHERE msgtext REGEXP '\\[(.+)?<(.+)?>\\]'
Run Code Online (Sandbox Code Playgroud)
此查询没有收到任何错误,但它返回了我不想要的内容.而不是(.+),我想要[^ \]](匹配除了右方括号之外的所有内容).当我更改查询时,我收到以下错误:"从regexp获取错误'重复 - 运算符操作数无效'
在阅读了这里的mySQL文档之后,它指出"要包括一个文字"字符,它必须紧跟在开头括号[." 因为我想要"^ \]"而不是"]",这是否可能,因为括号不能是开括号之后的第一个字符?以下是我尝试过的一些查询,它们会出现上面列出的相同错误:
SELECT * FROM message WHERE msgtext REGEXP '\\[([^\\]]+?)<([^\\]]+?)>\\]'
SELECT * FROM message WHERE msgtext REGEXP '\\[[^\\]]+?<[^\\]]+?>\\]'
SELECT * FROM message WHERE msgtext REGEXP '\\[[^[.right-square-bracket.]]]+?<[^[.right-square-bracket.]]]+?>\\]'
Run Code Online (Sandbox Code Playgroud)
更新:
以下查询运行没有错误,但不返回任何行,即使我知道有匹配我要查找的列(基于我在顶部的原始查询):
SELECT * FROM message WHERE msgtext REGEXP '\\[([^\\]]+)?<([^\\]]+)?>\\]'
Run Code Online (Sandbox Code Playgroud) 我有一个网页,可以向多个用户发送电子邮件(在线分发列表).单击提交按钮并发送电子邮件后,将显示状态页面,其中列出已发送的电子邮件数,错误和其他信息.如果用户单击后退按钮,则会重新发送电子邮件.我怎么能阻止这个?
注:浏览器就提示用户"重新提交"或实际发送电子邮件之前"重新发送"数据页面,但不会从单击它,然后不知道为什么邮件的两个副本共出动停止我的用户.
环境:
我有一个Web应用程序,我在两个连接表上调用SELECT DISTINCT查询.如果我尝试从网页运行查询,我会收到以下错误:"text,ntext或image数据类型不能被选为DISTINCT".当我从SQL Management Studio中运行它时,查询运行正常 - 没有错误.更有趣的是,任何一个表中都没有text,ntext或image数据类型.
应该注意的是,我正在逐步执行代码,并且在执行查询之前,我正在将查询从"监视"窗口复制到Mgmt Studio中,当我单步执行并让.NET运行时,它会运行它,错误被抛出.我正在使用.NET 2和System.Data.SqlClient命名空间.
这是我的查询:
SELECT DISTINCT ResponseFormParent.*
FROM ResponseFormParent
INNER JOIN ResponseForm
ON ResponseFormParent.ResponseFormParentId = ResponseForm.ResponseFormParentId
WHERE ResponseForm.RegistrationDeadline >= '5/1/2009'
Run Code Online (Sandbox Code Playgroud)
ResponseFormParent有3个整数,1个日期时间和1个nvarchar(50).ResponseForm有4个整数,1个日期时间,1个位和1个nvarchar(255).
是什么导致了这个问题?这个错误没有意义.
更新:调用查询的代码
public DataSet ExecuteQuery(string sql)
{
DataSet ds = null;
try
{
using (SqlConnection dbconn = new SqlConnection(connectionString))
using (SqlCommand dbcmd = new SqlCommand(sql, dbconn))
{
SqlDataAdapter dbadapter = new SqlDataAdapter(dbcmd);
ds = new DataSet();
dbadapter.Fill(ds);
}
}
catch (Exception ex)
{
Utility.LogError(sql, ex);
}
return ds;
}
Run Code Online (Sandbox Code Playgroud)