我只需要选择给定日期时间变量的月份的第一天.
我知道使用这种代码很容易:
select CAST(CAST(YEAR(@mydate) AS VARCHAR(4))
+ '/' + CAST(MONTH(@mydate) AS VARCHAR(2)) + '/01' AS DATETIME)
Run Code Online (Sandbox Code Playgroud)
但这不是很优雅,也可能不是很快.
有一个更好的方法吗?我正在使用SQL Server 2008.
我需要生成一个扩展名为.csv的唯一临时文件.
我现在做的是
string filename = System.IO.Path.GetTempFileName().Replace(".tmp", ".csv");
Run Code Online (Sandbox Code Playgroud)
但是,这并不能保证我的.csv文件是唯一的.
我知道我遇到碰撞的可能性非常低(特别是如果你认为我没有删除.tmp文件),但这段代码对我来说并不好看.
当然我可以手动生成随机文件名,直到我最终找到一个独特的文件名(这不应该是一个问题),但我很想知道其他人是否找到了一个很好的方法来处理这个问题.
我想在SQL Server Management Studio 2008中自动生成脚本.
现在我做的是:
有没有办法自动完成这项任务?
编辑:我想生成创建脚本,而不是更改脚本.
sql-server automation ssms sql-server-2008 visual-studio-2008
我正在创建一个CSR,我想知道哪个可以说是我的RSA密钥的最佳长度.
当然,384可能太弱了,16384可能太慢了.
是否应该使用密钥长度达成共识,具体取决于证书的生命周期?
编辑:像大多数人一样,我希望我的钥匙能够相当强大.我并不担心国家安全局可能会在2019年破坏我的密钥.我只想知道当一个人计划做正常业务时最好的做法是什么(例如电子商务网站)
netsh命令想要一个appid(见这里):
netsh http add sslcert ipport=0.0.0.0:8000 certhash=0000000000003ed9cd0c315bbb6dc1c08da5e6 appid={00112233-4455-6677-8899-AABBCCDDEEFF}
Run Code Online (Sandbox Code Playgroud)
到目前为止,我还无法理解我应该如何知道GUID netsh要我提供的内容.任何提示?
我有一个Client/Server wcf应用程序
我的可执行文件没有定义任何内容ServiceContract,它甚至没有引用System.ServiceModel(而是引用了包含服务器连接逻辑的程序集)
我有另一个程序集,由我的EXE引用,其中包含一个ServiceContract.
它曾经工作得很好.昨天,我已经玩了很多我的项目设置(部分信任,完全信任,部署设置等),现在,每次我启动我的客户端时,我都有以下消息框:
Microsoft WCF服务主机
目标程序集不包含任何服务类型.
您可能需要调整此程序集的代码访问安全性策略.
然后VS冻结1分钟,最终让我像往常一样调试我的程序.
我发现了一个关于这个问题的帖子,但解决方案不适用于我的情况.有任何想法吗?
我需要从Dictionary中删除多个项目.一种简单的方法如下:
List<string> keystoremove= new List<string>();
foreach (KeyValuePair<string,object> k in MyCollection)
if (k.Value.Member==foo)
keystoremove.Add(k.Key);
foreach (string s in keystoremove)
MyCollection.Remove(s);
Run Code Online (Sandbox Code Playgroud)
我无法直接删除foreach块中的项目的原因是这会抛出异常("Collection was modified ...")
我想做以下事情:
MyCollection.RemoveAll(x =>x.Member==foo)
Run Code Online (Sandbox Code Playgroud)
但是Dictionary <>类没有公开RemoveAll(Predicate <> Match)方法,就像List <> Class那样.
这样做的最佳方式(性能明智和优雅明智)是什么?
我正在考虑将SVN用于我的.Net项目,我想知道哪些插件可用于将源代码控制功能直接集成到Visual Studio IDE中.
我已经了解了以下Visual Studio扩展:
VisualSVN,看起来很棒,但不是免费的.它被实现为低级VS包扩展.有人用吗?
AnkhSVN,这是免费的,但我听说它有点儿马车.它实现为VS加载项扩展.有人用吗?你遇到问题吗?编辑: 2.0版本是一个完整的重写,似乎解决了我听说过的问题(与1.x版本有关)
编辑:TortoiseSVN + Mindscape的FileExplorer VS扩展,这不是一个真正的IDE集成,但在某种程度上简化了Visual Studio中TortoiseSVN的使用.
首先,我知道这个问题,并且建议(使用GUID)不适用于我的情况.
我想要简单的UID,以便我的用户可以通过电话轻松地传达这些信息:
您好,我的订单1584有问题
而不是
你好,我订单有问题4daz33-d4gerz384867-8234878-14
我希望那些是独特的(数据库范围),因为我有一些不同类型的'对象'...有订单ID,交付ID和账单ID,因为这些之间没有一对一的关系,我无法猜出ID指的是什么类型的对象.
使用数据库范围的唯一ID,我可以立即告诉客户所指的对象.我的用户只需在搜索工具中输入一个ID,我就会向他保存额外的点击以进一步细化所需的内容.
我目前的想法是使用具有不同种子1,2,3等的标识列,并且增量值为100.
这提出了一些问题:
如果我最终获得超过100种对象类型怎么办?我可以使用1000或10000,但不能很好地扩展"气味"
是否有可能种子"丢失"(在复制期间,数据库问题等?)
更一般地说,还有其他我应该注意的问题吗?
是否可以使用非整数(我目前使用bigints)作为标识列,以便我可以在ID前面加上代表对象类型的东西?(例如varchar列)
使用仅包含标识列的"主表"以及对象类型是不是一个好主意,这样我只要需要一个新想法就可以在其中插入一行.我觉得它可能有点矫枉过正,我担心这会使我的所有插入请求变得复杂.此外,我无法在不查看数据库的情况下确定对象类型
还有其他聪明的方法来解决我的问题吗?
我有以下存储过程
Create procedure psfoo ()
AS
select * from tbA
select * from tbB
Run Code Online (Sandbox Code Playgroud)
然后我以这种方式访问数据:
Sql Command mySqlCommand = new SqlCommand("psfoo" , DbConnection)
DataSet ds = new DataSet();
mySqlCommand.CommandType = CommandType.StoredProcedure;
SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();
mySqlDataAdapter.SelectCommand = mySqlCommand;
mySqlDataAdapter.Fill(ds);
Run Code Online (Sandbox Code Playgroud)
现在,当我想访问我的表时,我必须这样做:
DataTable datatableA = ds.Tables[0];
DataTable datatableB = ds.Tables[1];
Run Code Online (Sandbox Code Playgroud)
数据集Tables属性也通过字符串(而不是int)获得了一个访问器.
是否有可能在SQL代码中指定表的名称,以便我可以写这个:
DataTable datatableA = ds.Tables["NametbA"];
DataTable datatableB = ds.Tables["NametbB"];
Run Code Online (Sandbox Code Playgroud)
我正在使用SQL Server 2008,如果这有所不同.
.net ×4
sql-server ×4
sql ×3
c# ×2
ssl ×2
wcf ×2
ankhsvn ×1
automation ×1
collections ×1
cryptography ×1
csr ×1
database ×1
dataset ×1
datetime ×1
debugging ×1
dictionary ×1
identity ×1
linq ×1
netsh ×1
rsa ×1
ssms ×1
svn ×1
t-sql ×1
visualsvn ×1
windows ×1