我有一个简单的控制台项目,我正在阅读两个Excel文件.Excel文件包含在项目中("添加现有项目"),我用"复制到输出目录"标记它们.但是,在调试/运行代码时,它们不会复制到调试目录.
我觉得我忘记了一些微不足道的事情.我还需要做些什么?
当我参加Microsoft的SQL Server 2008演示时,他们快速了解了我们正在使用的功能.事实证明,在整个演讲厅,我的公司是唯一使用Service Broker的公司.这让我感到很惊讶,因为我认为会有更多的人使用它.
我在SB方面的经验是,它的工作做得很好,但管理非常困难,而且很难得到概述.
那么,您考虑过使用Service Broker吗?如果没有,为什么不呢?你有没有去过MSMQ?SQL Server 2008中是否有任何可以让您考虑使用Service Broker的内容.
我正在使用log4net进行日志记录(呃!).使用EventLogAppender,我可以配置我的应用程序名称,以便我的事件将显示在Application /"My Application Name"事件日志中.但是,我想将事件记录到"其他事件日志"/"我的应用程序名称".我该如何配置?
当前配置:
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
<applicationName value="My application Name" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
</layout>
</appender>
Run Code Online (Sandbox Code Playgroud)
对于EventLogInstaller,代码如下所示:
eventLogInstaller.Log = "Some other event log"; // Default "Application"
eventLogInstaller.Source = "My application name";
Run Code Online (Sandbox Code Playgroud) 我有以下查询返回基于逗号分隔列表的行
Select * from Table where RecordID in (22,15,105,1,65,32)
Run Code Online (Sandbox Code Playgroud)
我希望此查询的结果按列表中ID的顺序返回.这可能与SQL有关吗?
提前致谢
我正在使用Entity Framework 4.1并且有时需要调用存储过程.其中一些返回int作为返回值.例如
CREATE PROCEDURE ...
...
INSERT INTO ...
SELECT @@Identity
Run Code Online (Sandbox Code Playgroud)
(更新:删除返回值,不相关.我们将返回身份)
我的respository类中有以下代码:
var orderNo = context.Database.SqlQuery<int>("EXEC myProc").Single();
Run Code Online (Sandbox Code Playgroud)
这失败并显示错误消息 The specified cast from a materialized 'System.Decimal' type to the 'System.Int32' type is not valid.
如果我将上面的代码更改为
var orderNo = context.Database.SqlQuery<decimal>("EXEC myProc").Single();
Run Code Online (Sandbox Code Playgroud)
一切正常.
现在,我认为我应该能够返回一个int.这样做的正确方法是什么?
c# stored-procedures sql-server-2008-r2 entity-framework-4.1
使用SQL Server 2008 R2,
我正在尝试将日期范围组合到最大日期范围,因为一个结束日期与下一个开始日期相邻.
数据是关于不同的工作.一些员工可能已经结束了他们的工作,并在以后重新加入.那些应该算作两种不同的工作(例如ID 5).有些人有不同类型的工作,彼此追逐(结束和开始时间),在这种情况下,它应被视为一个就业(例如ID 30).
尚未结束的就业期限为无效的终止日期.
一些例子可能具有启发性:
declare @t as table (employmentid int, startdate datetime, enddate datetime)
insert into @t values
(5, '2007-12-03', '2011-08-26'),
(5, '2013-05-02', null),
(30, '2006-10-02', '2011-01-16'),
(30, '2011-01-17', '2012-08-12'),
(30, '2012-08-13', null),
(66, '2007-09-24', null)
-- expected outcome
EmploymentId StartDate EndDate
5 2007-12-03 2011-08-26
5 2013-05-02 NULL
30 2006-10-02 NULL
66 2007-09-24 NULL
Run Code Online (Sandbox Code Playgroud)
我一直在尝试不同的"孤岛"技术,但未能破解这一技术.
我正在使用连接到SQL Server数据库的VB.NET开发一个项目
在这个项目中,我需要立即将记录插入数据库后获取名为"ID"的列的值.
感谢名单.
我在生产服务器上为特定数据库捕获了一个跟踪(模板:tsql_replay)(按数据库名称过滤).我想在我们的测试服务器上重播它,但当然测试服务器上的数据库ID是不同的.
到目前为止,我已经尝试将跟踪文件加载到表中并使用更新查询修改databaseid(请参阅下文),但是在尝试重放时,Profiler会给我一个错误(缺少事件等).如果我直接打开跟踪文件,它允许我重放它.所以不知何故,无论是加载到表中还是更改数据库ID都会让人感到困惑.
捕获重放跟踪的正确过程是什么,更改数据库应该重播?
select * into trace_table
from fn_trace_gettable('f:\trace\trace100222.trc', default)
go
update trace_table
set databaseid = 47
where databaseid = 16
Run Code Online (Sandbox Code Playgroud) 我的html5文档中有这个音频链接:
<audio
src="http://sverigesradio.se/topsy/ljudfil/3017771.m4a"
type="audio/mp4"
controls="true"
preload="metadata"
title="Senaste sändningen från Radiosporten">
Senaste sändningen från Radiosporten</audio>
Run Code Online (Sandbox Code Playgroud)
它在chrome中正确渲染,但在FF4中它首先闪烁控件然后我得到一个大的"X".在safari中,它似乎在阅读元数据时挂起.
我的音频标签或音频文件有问题吗?重定向是一个问题吗?
所以,我想从Outlook导出我的所有联系人作为vcards.如果我谷歌,我得到了一堆共享软件程序,但我想要一些免费的东西.
如果我自己编写代码,我想我应该使用Microsoft.Office.Interop.Outlook程序集.有没有人已经编码将ContactItems转换为vcards?
编辑:我以完全不同的方式解决了它,请参阅下面的答案,但我已将dok1.myopenid.com的答案标记为已接受,因为它回答了我原来的问题.
下面的示例抛出InvalidOperationException,"Collection已被修改;枚举操作可能无法执行".执行代码时.
var urls = new List<string>();
urls.Add("http://www.google.com");
foreach (string url in urls)
{
// Get all links from the url
List<string> newUrls = GetLinks(url);
urls.AddRange(newUrls); // <-- This is really the problematic row, adding values to the collection I'm looping
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能以更好的方式重写这个?我猜一个递归的解决方案?
我正在尝试使用LINQ将URI作为字符串存储在数据库中.
[Column(Name = "Url", DbType = "nvarchar(255)")]
public Uri Url
{
get
{
return new Uri(_url);
}
set
{
_url = value.AbsoluteUri;
}
}
private string _url;
Run Code Online (Sandbox Code Playgroud)
但是,当尝试使用以下代码获取数据时,这很好地映射到我的数据库设计:
int id = 3;
_serie = new DataContext(connString).GetTable<Serie>();
var serie = _serie.FirstOrDefault(s => s.Id == id);
Run Code Online (Sandbox Code Playgroud)
在最后一行,我得到一个例外
System.InvalidCastException: Invalid cast from System.String to System.Uri etc
Run Code Online (Sandbox Code Playgroud)
我需要做什么来正确处理我的代码中的URI,但在我的数据库中存储它是一个nvarchar(255)?这似乎很简单,但我无法弄清楚我做错了什么.
在今天进行编码时,我注意到时间跨度和格式化字符串有些奇怪.我试图打印时间跨度,例如01:03:37作为1:03:37(不数小时的前导0).所以我使用了格式字符串h:mm:ss.然而,这给了我一个前导0.如果我将TimeSpan转换为DateTime并再次做同样的事情,h格式化字符串按预期工作.
一个示例控制台程序:
class Program
{
static void Main(string[] args)
{
var time = new TimeSpan(01, 03, 37);
var culture = new CultureInfo("sv-SE");
Thread.CurrentThread.CurrentCulture = culture;
Thread.CurrentThread.CurrentUICulture = culture;
Console.WriteLine(time.ToString());
Console.WriteLine(string.Format(culture, "{0:h:mm:ss}", time));
Console.WriteLine(string.Format(culture, "{0:hh:mm:ss}", time));
Console.WriteLine((new DateTime(time.Ticks)).ToString("h:mm:ss", culture));
Console.WriteLine((new DateTime(time.Ticks)).ToString("hh:mm:ss", culture));
Console.ReadKey();
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
01:03:37
01:03:37 // <-- expected: 1:03:37
01:03:37
1:03:37
01:03:37
Run Code Online (Sandbox Code Playgroud)
为什么TimeSpan和DateTime的表现不同?