小编Joh*_*aka的帖子

SSRS tablix列CanGrow属性的宽度?

我正在研究SSRS 2008中的Tablix,并希望我的列自动调整(仅限宽度)到其内容.CanGrow只影响身高.是否有我缺少的属性或以其他方式装配列来执行此操作?

width reporting-services ssrs-2008

24
推荐指数
3
解决办法
7万
查看次数

在SSRS 2008中,有没有办法一次将所有数据集字段添加到表中?

我是第一次使用SSRS.将表添加到报表时,有没有办法立即将数据集的所有字段添加到其中,还是必须单独完成?拖放,插入列 - >当有很多字段显示时,右边是一个痛苦.

reporting-services ssrs-2008

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

Notepad ++的X12语法高亮显示?

我使用了一些不同的X12标准EDI交易(270/272,276/277.)我想在我开始自己开始工作之前,我会检查是否有人知道Notepad ++的现有语法突出显示配置文件.

syntax-highlighting edi x12 notepad++

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

如何使用空表强制执行SSRS分页符?

我正在撰写SSRS 2008报告.我有一个非常简单的报告,其中包含三个表,每个表都有不同的数据集/ tablix(显示相同的字段).我将PageBreak.BreakLocation设置为End的前两个 - 我希望这三个单独显示.用户将直接导出到Excel.

当所有三个集合都有数据时,它可以正常工作,并且在Excel导出中它会在适当命名的三个表格中显示它们.当一个人没有数据时,它不会强制执行分页符.因此,如果只有我的第三个数据集有数据......前面的两个数据集显示在它上面,只清空行标题,与第三个数据集相同,这是唯一一个导出的数据集.

我希望强制执行分页符,即使这三个集合中没有任何数据也是如此.我可以使用NoRowsMessage明确指出没有数据,但我仍然需要单独的选项卡.有关如何实现这一目标的任何想法?

export-to-excel sql-server-2008 ssrs-2008

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

这种方法访问修饰符的目的是什么?

请考虑以下代码:

    private string _text = null;
    private string[] _values = null;

    public string Text { get { return _text; } }
    public string[] Values { get { return _values; } }
Run Code Online (Sandbox Code Playgroud)

如果仅仅让公众成员不这样做,这又取得了什么成果呢?

c# access-modifiers

7
推荐指数
3
解决办法
281
查看次数

使用其他表中的多个值的随机更新表

考虑这些数据:

CREATE TABLE #Data (DataID INT, Code VARCHAR(2), Prefix VARCHAR(3))

INSERT INTO #Data (DataID, Code)
VALUES (1, 'AA')
, (2, 'AA')
, (3, 'AA')
, (4, 'AA')
, (5, 'AA')
, (6, 'AA')

CREATE TABLE #Prefix (Code VARCHAR(2), Prefix VARCHAR(3))

INSERT INTO #Prefix (Code, Prefix)
VALUES ('AA', 'ABC')
, ('AA', 'DEF')
, ('AA', 'GHI')
, ('AA', 'JKL')
Run Code Online (Sandbox Code Playgroud)

我想设置的Prefix中值#Data是随机Prefix#Prefix与匹配Code.

使用直接inner join只会导致使用一个值:

UPDATE D
SET Prefix = P.Prefix
FROM #Data …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server random sql-server-2012

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

WatiN可以下载文件而无需关注吗?

我使用WatiN自动化文件传输(EDI事务)到/从多个网站,不幸的是FTP或任何更自动化友好不是一个选项.对于下载,我使用此示例的变体:

FileDownloadHandler download = new FileDownloadHandler(fullFilename);
using (new UseDialogOnce(ie.DialogWatcher, download))
{
    lnkFile.ClickNoWait();

    download.WaitUntilFileDownloadDialogIsHandled(15);
    download.WaitUntilDownloadCompleted(150);
}
Run Code Online (Sandbox Code Playgroud)

这很好用,唯一的问题是它需要专注.有几十个文件要下载可能需要一段时间才能完成,这并不罕见.我在一个远程会话中运行它,所以我的机器不能用,但如果有任何方法可以消除对焦的需要,那就方便了.

c# automation watin focus download

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

用作 EXISTS 子查询时查询速度较慢

我有以下查询:

SELECT I.InsuranceID
FROM Insurance I
INNER JOIN JobDetail JD ON I.AccountID = JD.AccountID
WHERE I.InsuranceLookupID IS NULL
AND JD.JobID = 28
Run Code Online (Sandbox Code Playgroud)

它大约在一秒钟内执行。当用作子查询时如下:

IF EXISTS(
SELECT I.InsuranceID
FROM Insurance I
INNER JOIN JobDetail JD ON I.AccountID = JD.AccountID
WHERE I.InsuranceLookupID IS NULL
AND JD.JobID = 28
)
SELECT 1
ELSE
SELECT 0
Run Code Online (Sandbox Code Playgroud)

需要 90 秒。据我了解, EXISTS 应该优化为在找到第一条记录后停止。为什么这需要更长的时间?

t-sql exists

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

DataGridViewComboBoxColumn DataSource?

我正试图在某个地方设置一些东西DataGridView.看起来这应该很简单,但我遇到了麻烦.我想显示三列:

  • 代码ID
  • 代码名称
  • 具有TypeName的DisplayMember,TypeID的ValueMember的ComboBox

我希望能够从所有可能的值中进行选择TypeName.这是我的困境:

如果我将所有这些加载到一个DataTable并设置DataGridViewDataSource,我可以显示该TypeName记录的现有,但组合框将不包括任何其他值.如果我将DataSourcefor 设置为包含所有可能DataGridViewComboBoxColumn的单独的DataTable,TypeNames则不显示现有值.

DataGridView 真的很烦人,所以无论是解决方案还是可行的替代方案都将受到赞赏.

编辑:看来这个问题是我想有一个单独的项目引起的DisplayMemberValueMember.以下工作,如果我不担心设置IDValueMember:

var typeColumn = new DataGridViewComboBoxColumn
{
    DataSource = typeList,
    DisplayMember = "Type",
    ValueMember = "Type",
    DataPropertyName = "Type"
}
Run Code Online (Sandbox Code Playgroud)

如果我执行以下操作,则会选择正确的类型,但我无法更改组合框中的选择:

var typeColumn = new DataGridViewComboBoxColumn
{
    DataSource = typeList,
    DisplayMember = "Type",
    ValueMember = "TypeID",
    DataPropertyName = "TypeID"
}
Run Code Online (Sandbox Code Playgroud)

如果我使用以下内容FormatException,则会出现错误,因为它正在尝试填充: …

c# data-binding datatable datagridview winforms

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

ADOX 表列的“可空”属性?

我正在尝试使用 C# 创建一个 Access 文件 (.mdb)。我正在从 SQL 导出数据以用于遗留过程。我让它工作了,我面临的唯一问题是将列设置为可为空。

这是我所拥有的(为简洁起见,删除了大多数列):

private void CreateAndExportLegacyFile(DataTable data, string exportFilename)
{
    var connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;";
    connectionString += "Data Source=" + exportFilename + ";Jet OLEDB:Engine Type=5";

    var catalog = new Catalog();
    catalog.Create(connectionString);

    var table = new Table { Name = "Main" };

    #region Column mapping
    table.Columns.Append("ID", DataTypeEnum.adVarWChar, 50);
    table.Columns.Append("FIRST", DataTypeEnum.adVarWChar, 50);
    table.Columns.Append("LAST", DataTypeEnum.adVarWChar, 50);
    #endregion

    foreach (Column column in table.Columns)
    {
        if (column.Name != "ID") column.Properties["Nullable"].Value = true;
    }

    catalog.Tables.Append(table);

    Marshal.FinalReleaseComObject(table);
    Marshal.FinalReleaseComObject(catalog.Tables);
    Marshal.FinalReleaseComObject(catalog.ActiveConnection);
    Marshal.FinalReleaseComObject(catalog);
}
Run Code Online (Sandbox Code Playgroud)

尝试设置“Nullable”属性时出现以下错误:“在与请求的名称或序号相对应的集合中找不到项目。” …

c# oledb jet .net-4.0 adox

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

存储过程中的多值日期参数?

我正在尝试使用存储过程来接受日期的多值参数.这不是在SSRS中,但我试图使用与它相同的方法:

ALTER PROCEDURE spSelectPlacementData
(
    @ClientID           SMALLINT,
    @SourceFileDates    VARCHAR(MAX)
)
AS
BEGIN
    SELECT (snip)
    FROM [APS].[dbo].[Account] A
    WHERE ClientID = @ClientID
    AND A.[SourceFileDate] IN (SELECT * FROM dbo.Split(@SourceFileDates))
END
Run Code Online (Sandbox Code Playgroud)

我在SSRS报告多值参数上使用此方法和INT和VARCHAR字段.

这是我用来连接SourceFileDates的代码:

    string sourceFileDates = "";

    foreach (DateTime file in job.sourceFiles)
    {
        if (file == job.sourceFiles.Last())
        {
            sourceFileDates += "'" + file.ToString("d") + "'";
        }
        else
        {
            sourceFileDates += "'" + file.ToString("d") + "', ";
        }
    }

    selectRunCommand = new SqlCommand("spSelectPlacementData", sqlConnection);
    selectRunCommand.CommandType = CommandType.StoredProcedure;
    selectRunCommand.Parameters.Add("@ClientID", SqlDbType.SmallInt);
    selectRunCommand.Parameters["@ClientID"].Value = job.clientID;
    selectRunCommand.Parameters.Add("@SourceFileDates", …
Run Code Online (Sandbox Code Playgroud)

c# t-sql parameters stored-procedures sql-server-2008

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

比较bools对的简单方法?

假设我有以下bool:

  • ISA
  • 为B
  • 为-C
  • isExistingA
  • isExistingB
  • isExistingC

当isA,isB或isC为真时,如果所有真正的bool'对应的isExisting bools也是如此,我想做点什么.如果isA,isB或isC为false,则其对应的isExisting bool无关紧要.

这是我想出的:

if ((isA || isB || isC)
    && ((!isA || isExistingA)
    && (!isB || isExistingB)
    && (!isC || isExistingC)))
{
    // do something
}
Run Code Online (Sandbox Code Playgroud)

我显然今天想不到,并且想知道是否有更简单的方法来表达这一点.

c# comparison boolean

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

在C#中使用ExecuteScalar访问列名?

我有一个存储过程,根据某些结果返回0或1.我经常手动执行这个程序,所以为了描述在SSMS中容易查看但在代码中仍然可读为0/1的成功/失败的描述,我选择0或1作为不同的列名,即SELECT 0 AS ThisReasonSELECT 0 AS ThatReason.

几乎可以肯定有更好的方法来解决这个问题,但它让我很好奇 - 在C#中使用ExecuteScalar时,是否可以读取你选择的列的名称?

c# t-sql stored-procedures executescalar sql-server-2014

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