小编Mik*_*ike的帖子

Ado.net Fill方法在运行不存在的存储过程时不会抛出错误

我正在使用企业库和ADO的原始Fill方法的组合.这是因为我需要自己打开和关闭命令连接,因为我捕获事件信息消息

到目前为止,这是我的代码

        // Set Up Command 
        SqlDatabase db = new SqlDatabase(ConfigurationManager.ConnectionStrings[ConnectionName].ConnectionString);
        SqlCommand command = db.GetStoredProcCommand(StoredProcName) as SqlCommand;
        command.Connection = db.CreateConnection() as SqlConnection;

        // Set Up Events for Logging
        command.StatementCompleted += new StatementCompletedEventHandler(command_StatementCompleted);
        command.Connection.FireInfoMessageEventOnUserErrors = true;
        command.Connection.InfoMessage += new SqlInfoMessageEventHandler(Connection_InfoMessage);

        // Add Parameters
        foreach (Parameter parameter in Parameters)
        {
            db.AddInParameter(command, 
                parameter.Name, 
                (System.Data.DbType)Enum.Parse(typeof(System.Data.DbType), parameter.Type), 
                parameter.Value);
        }

            // Use the Old Style fill to keep the connection Open througout the population
            // and manage the Statement Complete and InfoMessage events
            SqlDataAdapter da = …
Run Code Online (Sandbox Code Playgroud)

.net c# sql ado.net

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

ssis缺少约束线

我在同一个项目中遇到了一些奇怪的问题.

当我重新加载项目时,一些约束连接器没有在视觉上出现.我知道他们在那里,因为如果我再次尝试绘制它们,我会得到错误:

Cannot create connector.
Only one workflow can exist between the same two executables.
Run Code Online (Sandbox Code Playgroud)

包也正确运行.

我可以重新出现这些线条吗?

我正在使用visual studio 2008.受影响的对象位于序列容器中的for循环中

ssis visual-studio-2008

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

SSRS传递报告参数

我正在努力解决这个问题的根本问题

我有一个用户输入信息的表单.该信息通过URL传递给SSRS

我收到了错误

An error has occurred during report processing. (rsProcessingAborted)
Query execution failed for data set 'Report'. (rsErrorExecutingCommand)
Must declare the scalar variable "@ReportType". Must declare the scalar variable "@StoreNum". Must declare the scalar variable "@ReportType". Must declare the scalar variable "@StoreNum". 
Run Code Online (Sandbox Code Playgroud)

查询是这样的

IF @ReportType = 'RE'
BEGIN
 exec  proc_Report_RETaxInvoices_InterActive @StoreNum, @StartDate, @EndDate, @TaxId, @BusinessName, @Attention, @LocatedIn, @Street, @AdditionalAddress, @City, @State, @PostalCode
END
ELSE IF @ReportType = 'RY'
BEGIN
 exec proc_Report_ARTaxInvoices_InterActive @StoreNum, @StartDate, @EndDate, @TaxId, @BusinessName, @Attention, @LocatedIn, @Street, …
Run Code Online (Sandbox Code Playgroud)

sql-server reportingservices-2005 reporting-services

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

BCP和ó的字符编码问题

我有一个需要去波兰的文件.在我的数据中,我有一个ó.当我将数据输出到表格时ó,该字段仍然存在NVARCHAR.当我从表中剪切并粘贴到Excel或Notepad ++中时,ó保留

当我使用BCP实用程序导出数据时,如果我在Excel或Notepad ++中打开生成的文本文件,则更ó改为a ¢.如果我改变编码有时候角色变成了?.

我尝试过以下命令行开关,一次一个. -n -N -w

sql-server unicode bcp character-encoding

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

字典(散列表)和列表查找之间的权衡点

简短问题:列表中有多少个元素可以像List O(n)那样进行线性搜索,然后比字典O(1)更快?

我似乎记得在大学(和高中)比较搜索技术(二元与线性)时总是存在线性更快的点.那是O(n)vs O(log)

我不能在这里画图.但是对于不断的表现必须有一些头脑.所以问题是如果我有10个项目List.Find然后更有意义

if (Dictionary.Contains(x))
    value = Directiory[x]
Run Code Online (Sandbox Code Playgroud)

或者Hashtable,其中value = Hashtable [x]不会失败,但需要装箱

c# search

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

Html.DropdownList如何实际绑定?

所以我正在学习MVC/Razor,我无法弄清楚这是如何起作用的.

在"创建方法"中

ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name");
Run Code Online (Sandbox Code Playgroud)

我在页面上

@Html.DropDownList("GenreId", String.Empty);
Run Code Online (Sandbox Code Playgroud)

这很有效.我感到困惑的是ViewBag和对象属性之间的区别

所以我可以将第一行更改为

ViewBag.x= new SelectList(db.Genres, "GenreId", "Name");
Run Code Online (Sandbox Code Playgroud)

@Html.DropDownList("x", String.Empty);
Run Code Online (Sandbox Code Playgroud)

但是当然它不会被绑定到对象那么当我可能不希望列表名称与对象属性相同时,为字段设置下拉列表的正确方法是什么?

我想可以直接从Request.Form对象中获取值,但这种方式可以完成模型绑定的整个过程.

asp.net-mvc razor

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

使用Pivot或CTE来水平化查询

我正在使用sql 2008我的数据集看起来像

Entity    Type1    Type2    Balance 
1         A        R        100
1         B        Z        200
1         C        R        300
2         A        X        1000
2         B        Y        2000
Run Code Online (Sandbox Code Playgroud)

我的输出应该是这样的

Entity  A-Type2 A-Balance B-Type2 B-Balance C-Type2 C-Balance 
1       R       100       Z       200       R       300
2       X       1000      Y       2000              0
Run Code Online (Sandbox Code Playgroud)

现在我开始编写一个数据透视查询,我想我可以使用MAX,因为每个Entity/Type1组合应该有一条记录.但无法弄清楚如何在一个支点中做两个字段.这可能吗?CTE可以帮助解决这个问题吗?

sql sql-server-2008

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

Pivot vs Case T-sql效率

我想弄清楚哪种方式更有效率.我试图使用Sql Fiddle但它似乎没有识别PIVOT或UNION我可以查看哪些工具或统计数据来确定哪个更有效.

CREATE TABLE T
(
  PersonNum INT
 ,WeekOf DATETIME
 ,ActivityType1 INT
 ,ActivityType2 INT
 ,Hours INT
)

INSERT INTO T VALUES(1,'11/2/2014',5,0,40)
INSERT INTO T VALUES(1,'11/2/2014',1,0,5)
INSERT INTO T VALUES(1,'11/2/2014',1,0,8)
INSERT INTO T VALUES(1,'11/2/2014',2,1,6)
INSERT INTO T VALUES(1,'11/2/2014',2,2,2)
INSERT INTO T VALUES(1,'11/2/2014',2,3,9)
INSERT INTO T VALUES(1,'11/2/2014',2,4,7)

INSERT INTO T VALUES(1,'11/9/2014',5,0,40)
INSERT INTO T VALUES(1,'11/9/2014',1,0,2)
INSERT INTO T VALUES(1,'11/9/2014',1,0,6)
INSERT INTO T VALUES(1,'11/9/2014',2,1,7)
INSERT INTO T VALUES(1,'11/9/2014',2,2,2)
INSERT INTO T VALUES(1,'11/9/2014',2,3,3)
INSERT INTO T VALUES(1,'11/9/2014',2,4,5)
Run Code Online (Sandbox Code Playgroud)

方法1

SELECT 
  PersonNum
, WeekOf
, SUM(CASE …
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server

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

Sql到SSRS的日期格式mm/dd/yyyy hh:mm:ss.nnn AM/PM

我需要获得SSRS的确切日期时间,我注意到当我使用日期字段时,SSRS中的毫秒被切断,所以我在考虑格式化字符串.我找不到与我需要的输出匹配的转换选项

mm/dd/yyyy hh:mm:ss.nnn AM/PM

所以我想出了这个很长的公式

-- Test Data
DECLARE @DATETIMESTAMP DATETIME 
SET @DATETIMESTAMP = GETDATE()
------------
SELECT DISTINCT 
    RIGHT('0'+CONVERT(VARCHAR(2), MONTH(@DateTimeStamp)), 2) + '/' +
    RIGHT('0'+CONVERT(VARCHAR(2), DAY(@DateTimeStamp)), 2) + '/' +
    CONVERT(VARCHAR(4), YEAR(@DateTimeStamp)) + ' ' +
    CASE 
        WHEN DATEPART(HOUR, @DateTimeStamp) > 12 THEN RIGHT('0'+CONVERT(VARCHAR(2), DATEPART(HOUR, @DateTimeStamp)-12), 2)
        WHEN DATEPART(HOUR, @DateTimeStamp) = 0 THEN '12'
        ELSE RIGHT('0'+CONVERT(VARCHAR(2), DATEPART(HOUR, @DateTimeStamp)), 2)
    END + ':' +
    RIGHT('0'+CONVERT(VARCHAR(4), DATEPART(MINUTE, @DateTimeStamp)), 2) + ':' +
    RIGHT('0'+CONVERT(VARCHAR(4), DATEPART(SECOND, @DateTimeStamp)), 2) + '.' +
    RIGHT('000'+CONVERT(VARCHAR(4), DATEPART(MILLISECOND, @DateTimeStamp)), …
Run Code Online (Sandbox Code Playgroud)

sql-server reportingservices-2005

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

基于索引位置的数组的Sum元素,最好用Linq

所以我有一个数组

int number = {3 ,5 ,2};
Run Code Online (Sandbox Code Playgroud)

我知道

number.Sum() = 10
Run Code Online (Sandbox Code Playgroud)

number.Select(x=> sum+x) => {3, 8, 10}
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种给定索引的方法,以将元素之和从索引i返回到N.

例:

Sum(0) = 10
Sum(1) = 7
Sum(2) = 2
Run Code Online (Sandbox Code Playgroud)

我可以通过循环轻松完成,但我想知道是否有一个可以使用的单语句Linq.

c# linq

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