小编use*_*076的帖子

我在Visual Studio中丢失了数据集窗格

我正在商业智能工作室开发一份报告,但我丢失了我的数据集.窗格靠近工具箱,它已经消失了.我应该重新打开的窗格的名称是什么?

visual-studio-2010 reporting-services business-intelligence

88
推荐指数
2
解决办法
6万
查看次数

如何从sp_msforeachtable中排除表

我知道sp_msforeachtable允许对所有表执行查询.

我有100个表,我想在97个表上执行相同的查询.

我正在使用此查询: EXEC sp_MSForEachTable "DELETE FROM ?"

是否可以排除某些表格?

sql sql-server sp-msforeachtable

22
推荐指数
3
解决办法
1万
查看次数

使用C#Regex的多个正则表达式选项

假设我有这个:

Regex.Replace("aa cc bbbb","aa cc","",RegexOptions.IgnoreCase);
Run Code Online (Sandbox Code Playgroud)

但我也需要忽略空格.所以,我找到了一个选项IgnorePatternWhitespace,但是如何在一个regex.Replace中添加几个选项呢?
就像是:

Regex.Replace("aa cc bbbb", "aa cc", "", 
    RegexOptions.IgnoreCase + RegexOptions.IgnorePatterWhitespace);
Run Code Online (Sandbox Code Playgroud)

更新:
感谢您的回答,但此选项似乎不起作用:这是一个测试示例:

Regex.Replace("aa cc bbbb", "aacc", "", 
    RegexOptions.IgnoreCase | RegexOptions.IgnorePatterWhitespace);
Run Code Online (Sandbox Code Playgroud)

.net c# regex

17
推荐指数
4
解决办法
2万
查看次数

登录到SQL Server时密码不匹配

好吧,我有一个经典的asp应用程序,我有一个连接字符串,试图连接到数据库.

MY连接字符串如下所示:

 Provider=SQLOLEDB;Data Source=MYPC\MSSQLSERVER;Initial
 Catalog=mydb;database=mydb;User Id=me;Password=123
Run Code Online (Sandbox Code Playgroud)

现在,当我通过front-en访问数据库时,我收到此错误:

Microsoft OLE DB Provider for SQL Server error '80040e4d'
Login failed for user 'me'. 
Run Code Online (Sandbox Code Playgroud)

我查看了sql profiler,我得到了这个:

 Login failed for user 'me'.  Reason: Password did not match that
 for the login provided. [CLIENT: <named pipe>]
 Error: 18456, State:8. 
Run Code Online (Sandbox Code Playgroud)

我尝试过的:

  1. 检查了100次,我的密码实际上是正确的.
  2. 试过这个:( alter login me with check_policy off甚至不知道我为什么这样做)
  3. 在SSMS中为此帐户启用所有可能的权限.

更新:4.我尝试过这个连接字符串: Provider=SQLOLEDB;Data Source=MYPC\MSSQLSERVER;Initial Catalog=mydb;database=mydb; Integrated Security = SSPI

我收到了这个错误:

用于SQL Server的Microsoft OLE DB提供程序错误"80004005"无法打开登录请求的数据库mydb.登录失败.

sql sql-server asp-classic sql-server-2008-r2

12
推荐指数
1
解决办法
2万
查看次数

使用join替换varchar(max)字段中的值

我有一个包含带占位符的文本字段的表.像这样的东西:

Row Notes  
1.  This is some notes ##placeholder130## this ##myPlaceholder##, #oneMore#. End.
2.  Second row...just a ##test#.   
Run Code Online (Sandbox Code Playgroud)

(此表平均包含大约1-5k行.一行中的平均占位符数为5-15).

现在,我有一个如下所示的查找表:

Name             Value
placeholder130    Dog
myPlaceholder     Cat
oneMore           Cow
test              Horse   
Run Code Online (Sandbox Code Playgroud)

(查找表将包含10k到100k记录的任何内容)

我需要找到从字符串到查找表将这些占位符连接起来并用值替换的最快方法.所以,我的结果应该是这样的(第1行):

这是一些注释狗这只猫,牛.结束.

我想出的是为每个占位符将每一行拆分为多个,然后将其连接到查找表,然后将记录连接到具有新值的原始行,但平均需要大约10-30秒.

sql sql-server sql-server-2008-r2

12
推荐指数
3
解决办法
2111
查看次数

如果记录存在则使用内连接,否则使用左连接

我有以下表结构:

dbo.Owner

OwnerID   OwnerName  
  1        John   
  2        Marie
  3        Alex
Run Code Online (Sandbox Code Playgroud)

和dbo.Pet

PetID PetTag Status OwnerID
  1    A341  Active    1  
  2    A342  Inactive  1  
  3    A343  Active    2
  4    A345  Active    2
Run Code Online (Sandbox Code Playgroud)

我需要归还所有只有活动宠物或没有宠物的主人.

所以在上面这个例子中,我需要返回所有者2(所有宠物都有效)和所有者3(没有宠物)

我将使用Entity Framework在C#中提取数据,但是纯SQL就足够了.

这是我到目前为止所提出的:

select mi.* from Owner o
join Pet p
on o.OwnerID= p.OwnerID
where o.Status='Active'
union select * from Owner
where OwnerID not in (select OwnerID from Pet)
Run Code Online (Sandbox Code Playgroud)

现在,上面的这个查询有效但它包含OwnerID = 1.而且我想知道是否有一种方法可以在没有union的1个查询中执行此操作.

c# sql-server entity-framework

12
推荐指数
2
解决办法
1992
查看次数

根据动态列查找匹配的记录

我有一份宠物清单:
宠物

我需要从Owner表中找到每个宠物的正确拥有者

拥有者

为了正确地将每个宠物与所有者匹配,我需要使用一个特殊的匹配表,如下所示:

匹配

因此,对于PetID = 2的宠物,我需要找到一个基于三个字段匹配的所有者:

    Pet.Zip = Owner.Zip 
    and Pet.OwnerName = Owner.Name 
    and Pet.Document = Owner.Document
Run Code Online (Sandbox Code Playgroud)

在我们的示例中,它将像这样工作:

 select top 1 OwnerID from owners
         where Zip = 23456 
         and Name = 'Alex' 
         and Document = 'a.csv'
Run Code Online (Sandbox Code Playgroud)

如果找不到OwnerID,则需要根据2个字段进行匹配(不使用优先级最高的字段)

在我们的例子中:

 select top 1 OwnerID from owners where
             Name = 'Alex' 
             and Document = 'a.csv'
Run Code Online (Sandbox Code Playgroud)

由于没有找到记录,我们需要匹配较少的字段.在我们的例子中:

select top 1 OwnerID from owners where Document = 'a.csv'
Run Code Online (Sandbox Code Playgroud)

现在,我们找到了OwnerID = 6的所有者.

现在我们需要更新ownerID = 6的宠物,然后我们可以处理下一个宠物.

我现在唯一能做到这一点的方法是循环或游标+动态SQL.

是否有可能在没有循环+动态sql的情况下实现这一点?也许STUFF + Pivot不知何故?

sql小提琴:http://sqlfiddle.com/#!18/10982/1/0

样本数据:

create table …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server sql-server-2016

12
推荐指数
1
解决办法
543
查看次数

在阵列中找到2个缺失数字的最快方法

这个问题的存在只是因为纯粹的好奇心.不是作业.

找到在数组1..n中找到两个缺失数字的最快方法

所以,在一篇相关的文章中:在一组数字中找到缺失数字的最快方法 我发现你可以通过总结和减去总数来快速完成.

但是2个数字怎么样?

所以,我们的选择是:

  1. 顺序搜索
  2. 总结项目,从1..n中的所有项目中减去总数,然后搜索所有可能的案例.

还要别的吗?可能有O(n)解决方案吗?我在其中一个网站的ruby部分找到了这个,但是考虑了任何语言(除非语言有一些特定的东西)

ruby algorithm

11
推荐指数
3
解决办法
2万
查看次数

如何深度复制实体

我在这里找到了这个片段:

public static T DeepClone<T>(this T obj)
    {
        using (var ms = new MemoryStream()) {
            var bf = new BinaryFormatter();
            bf.Serialize(ms, obj);
            ms.Position = 0;
            return (T)bf.Deserialize(ms);
        }
    }
Run Code Online (Sandbox Code Playgroud)

这说明我们可以通过这个东西对所有相关对象进行深层复制.

我正在尝试这样的副本:

db.Detach(myEntity); 
myEntity.EntityKEy = null;
Entity newEntity = new Entity();
newEntity = DeepClone<Entity>(Entity);
db.Entities.AddObject(newEntity);
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

它可以工作,但仍然不会复制任何嵌套的\相关记录.我在这做错了什么?

我有这个结构Entity-> ChildEntity - > ChildChildEntity
- > - one-to-many
所以我假设当我复制实体时它也会复制所有子记录.

更新: 建议之后,我这样做了:

Entity newEntity = new Entity();
Eneity Entity = db.Include("ChildEntity").Where(p=>p.Id==Id).Single();
newEntity = DeepClone<Entity>(Entity);
db.Detach(myEntity); 
myEntity.EntityKEy = null;
db.Entities.AddObject(newEntity);
db.SaveChanges();
Run Code Online (Sandbox Code Playgroud)

在AddObject行上获取异常:

ObjectStateManager中已存在具有相同键的对象.ObjectStateManager无法使用相同的键跟踪多个对象.

c# entity-framework .net-4.0

11
推荐指数
2
解决办法
2万
查看次数

向System.Drawings.Color添加颜色选项

在visual studio中,当在标记中创建控件时(或在代码隐藏中),您可以指定HEX格式的颜色,如:"#FFFFFF",但您也可以从预设颜色列表中进行选择,如:白色,小麦,窗口等等(见截图).
是否可以扩展该列表并添加其他颜色?
在此输入图像描述

c# asp.net system.drawing asp.net-4.5 visual-studio-2012

11
推荐指数
3
解决办法
2289
查看次数