小编Gur*_*epS的帖子

动态SQL(将表名作为参数传递)

我想编写一个存储过程,它将使用一个参数,它将是表名.

例如:

@tablename << Parameter

SELECT * FROM @tablename
Run Code Online (Sandbox Code Playgroud)

这怎么可能?

我写了这个:

set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
GO

ALTER PROCEDURE [dbo].[GetAllInterviewQuestions]
@Alias varchar = null
AS
BEGIN
Exec('Select * FROM Table as ' @Alias) 
END
Run Code Online (Sandbox Code Playgroud)

但它说@Alias附近的语法不正确.

t-sql sql-server

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

选择新的关键字组合

在LINQ中,select new关键字组合有什么作用?

我没有找到太多关于此的文档.

谢谢

c# linq

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

抛出新异常vs将消息写回用户(避免异常)

如果参数不是正确的形式,或者其他什么,我看到很多代码写入了抛出异常的地方.基本上"扔新......".

这有什么好处?通过检查参数可以避免异常(例如,如果为null,则将消息写回webpage/winform).为什么在异常昂贵时不使用这种方法?

谢谢

language-agnostic exception-handling

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

依赖注入究竟如何减少耦合?

我已经对依赖注入做了很多阅读,但我不知道,它实际上如何减少耦合?

我对DI的类比是所有组件都在容器中注册,因此它们就像在宝箱中一样.要获得一个组件,你显然首先注册它,但那时你将不得不询问宝箱(这就像一个间接层).这是正确的比喻吗?然而,"注射"是如何发生的并不明显(如何适应这种类比?).

谢谢

dependency-injection

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

从(相同)接口派生的两种类型之间的转换

我有一个接口和两个派生自它的类型.

但是,我无法做到以下几点:

B objectB = (B) objectA
Run Code Online (Sandbox Code Playgroud)

其中B派生自Interface1(我正在编写类的名称,但该点仍然存在),同样对于objectA(类型为A).我收到以下错误消息:

无法将类型A的表达式转换为B.

这两种类型都来自界面,我缺少什么?

.net c#

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

对链表进行排序

我在C#中编写了一个基本的链表类.它有一个Node对象,它(显然)代表列表中的每个节点.

代码不使用IEnumerable,但是,我可以实现排序功能吗?我使用的语言是C#.在C#中有这样的例子吗?

我正在使用这个样本:

谢谢

c# algorithm linked-list data-structures

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

使用waitone()方法

static Mutex mutex = new Mutex (false, "oreilly.com OneAtATimeDemo");

static void Main()
{
    // Wait a few seconds if contended, in case another instance
    // of the program is still in the process of shutting down.

    if (!mutex.WaitOne (TimeSpan.FromSeconds (3), false))
    {
      Console.WriteLine ("Another instance of the app is running. Bye!");
      return;
    }

    try
    {
      Console.WriteLine ("Running. Press Enter to exit");
      Console.ReadLine();
    }
    finally { mutex.ReleaseMutex(); }
}
Run Code Online (Sandbox Code Playgroud)

http://www.albahari.com/nutshell/ch20.aspx

在这段代码中:

if(mutex.WaitOne(TimeSpan.Zero, true)) 
{
    Application.EnableVisualStyles();
    Application.SetCompatibleTextRenderingDefault(false);
    Application.Run(new Form1());
    mutex.ReleaseMutex();
} 
else …
Run Code Online (Sandbox Code Playgroud)

c#

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

C#4.0中的障碍和C#3.0中的WaitHandle之间的区别?

我正在接受C#4.0,其中一个令我困惑的事情就是屏障概念.

这不仅仅是使用WaitAll方法WaitHandle吗?是不是等待所有线程完成?

我从这个页面学到了屏障结构:http://www.managed-world.com/archive/2009/02/09/an-intro-to-barrier.aspx

但是,它似乎就像WaitAll方法一样.我错过了什么?这有什么区别?

谢谢.

.net c# multithreading .net-4.0

10
推荐指数
3
解决办法
4819
查看次数

制作并发程序的不同方式的差异

有什么区别:

  1. 开始一个新线程
  2. 使用TPL
  3. 使用BackgroundWorker

所有这些都创造了并发性,但这些之间的低级别差异是什么?无论如何都要做3个线程吗?

谢谢

c# .net-4.0

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

查询同一服务器上不同数据库中的两个表

我需要在两个不同的数据库中查询两个表SQL Server.在一个表上,我需要获取所有行(简单选择),另一个是select,但是id匹配我的存储过程中的参数.

我尝试这样做但得到错误

无法绑定多部分标识符.

我怎么能这样做?

查询:

  SELECT QUALITY_CENTER, POSTCODE_ID, (SELECT   [QCID]   
  FROM [Website_Interactive].[dbo].[IIPCentre_UserObject]
  WHere LoginID = @loginID)
  FROM IIP_QC_LIST
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server

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