小编Fil*_*vić的帖子

在c#中创建notepad ++插件

是否可以在C#中创建notepad ++插件?

我看了一些教程,但我发现的是如何用C++编写插件.

有没有办法在c#中做到这一点,我在哪里可以找到解释如何做的教程?

c# notepad++

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

连接池可能存在切断的连接

我有多个线程访问同一个数据库(具有相同的连接字符串).每个帖子:

  • 使用相同的连接字符串创建自己的SqlConnection实例
  • 使用下面的代码在需要时打开它自己的连接实例

        try
        {
            wasOpened = connection.State == ConnectionState.Open;
    
            if (connection.State == ConnectionState.Closed)
            {
                connection.Open();
            }
        }
        catch (Exception ex)
        {
            throw new Exception(string.Format("Connection to data source {0} can not be established! Reason: {1} - complete stack {2}",
                                              connection.Database, ex.Message, ex.StackTrace == null ? "NULL" : ex.StackTrace.ToString()));
        }
    
    Run Code Online (Sandbox Code Playgroud)

到目前为止,我们已在2台服务器上测试了此代码,并且有一台服务器有时会在SqlConnection.Open方法中抛出异常.这是我们从catch块获得的异常消息:

无法建立与数据源xyz的连接!原因:操作无效.连接已关闭. - 完整的堆栈

在System.Data.SqlClient.SqlConnection.OpenConnection()
处于System.Data.SqlClient.SqlConnection.OpenConnection()
处于System.Data.SqlClient.SqlConnection.Open()

检查SqlConnection.GetOpenConnection方法显示innerConnection为null:

internal SqlInternalConnection GetOpenConnection()
{
    SqlInternalConnection innerConnection = this.InnerConnection as SqlInternalConnection;
    if (innerConnection == null)
    {
        throw ADP.ClosedConnectionError();
    }
    return innerConnection;
} …
Run Code Online (Sandbox Code Playgroud)

.net c# ado.net connection-pooling sqlconnection

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

获得k值的所有排列(k = 1 ... n)

我需要一个可以在(或作为)函数中使用的查询,并检索n个值的所有排列.我需要长度为k的所有排列,其中k = 1..n.

编辑#1:扩展的样本输入和结果,因此输入有3个值而不是2 - 但是,输入值的数量可以从1到n变化.

例:

输入:表中包含多行中一列的值

    Value  (nvarchar(500))
    ------
    Ann
    John
    Mark
Run Code Online (Sandbox Code Playgroud)

编辑#2:我可以使用以下任何输出

输出#1:在一列中连接值的表

    Ann
    John
    Ann,John
    John,Ann
    Ann,Mark
    Mark,Ann
    John,Mark
    Mark,John
    Ann,John,Mark
    Ann,Mark,John
    John,Ann,Mark
    John,Mark,Ann
    Mark,Ann,John
    Mark,John,Ann
Run Code Online (Sandbox Code Playgroud)

输出#2:具有排列/组合,值和顺序的id的表

    id    value    order
    --------------------
    1     Ann      1
    2     John     1
    3     Ann      1
    3     John     2
    4     John     1
    5     Ann      2
Run Code Online (Sandbox Code Playgroud)

笔记:

  • 必须适用于SQL Server 2008 R2
  • 必须在功能内工作
  • 输入中预期的不同元素的最大数量不应超过5 - 如果这对性能或任何其他原因有影响
  • 输入表中的值列不可能超过200个字符 - 如果这对性能或任何其他原因很重要

很多搜索在互联网上,我发现后生成排列组合在T-SQL的论坛帖子,但我并没有设法修改它给预期的输出格式,以及迫使它使K = 1,...,N排列也.

有很多解决类似问题的解决方案,主要用非SQL语言编写,但我找不到能帮助我解决这个问题的问题.

t-sql combinations permutation sql-server-2008

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