小编C.J*_*.J.的帖子

WHERE IN 子句中的存储过程参数

我有一个存储过程,它看起来像这样:

SELECT * FROM empTable
WHERE empCode IN (@employeeCode)
Run Code Online (Sandbox Code Playgroud)

@employeeCode接受来自另一个应用程序的输入,而我无法控制该应用程序。它会给我string这样的东西:'M06', 'R02', 'B19', 'C10'

当我执行该过程时,它返回 0 行。但是,当我使用以下查询在 SQL Server 中手动运行查询时:

SELECT * FROM empTable
WHERE empCode IN ('M06', 'R02', 'B19', 'C10')
Run Code Online (Sandbox Code Playgroud)

它返回 15 行。

我怀疑当employeeCode接受输入时,它假设整个'M06', 'R02', 'B19', 'C10'为 ONE string。有人能证实这一点吗?如果这是真的,我该如何解决?

编辑:我正在使用 SQL Server 2000

sql-server stored-procedures sql-server-2000

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

AJAX Helper 和 async/await 之间的区别

在查看 Scott Allen 在 Plural Sight 上制作的教程视频时:

使用 ASP.NET MVC 4ASP.NET MVC 5 基础知识构建应用程序

我遇到了两个不同的术语:AJAX Helperasync/await

对我来说,“听起来”两者都在异步模式下运行(如果我错了,请纠正我)。每个之间到底有什么区别?

asp.net ajax asp.net-mvc asp.net-mvc-4 asp.net-mvc-5

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

多个字段的ASP.NET Validator

这将是两部分问题:

  1. 我有多个文本框.所有这些都是必填字段.如何使用一个验证器验证所有文本框?(即如果任何一个textbox-es为空,它将返回错误)

  2. 我有多个文本框.至少其中一个是必填字段.如何使用一个验证器来验证这些条件?(即如果所有textbox-es都为空,它将返回错误,但只要其中一组textbox-es中包含某些内容,它就会通过.)

c# asp.net validation

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

具有2个条件的SQL案例

我有一个存储过程,将接受2个不同的参数.第一个参数将确定我要排序的列,第二个参数将确定它是否为ASCDESC

Create Procedure Some_SP
    @sortcolumn varchar(10)
    @sortorder varchar(10)
AS
    Select * from empTable
    Order by
         CASE @sortcolumn WHEN 'First_Name' THEN fname END,
         CASE @sortcolumn WHEN 'Last_Name' THEN lname END,
         CASE @sortcolumn WHEN 'ID' THEN empID END,
         CASE @sortorder WHEN 'ascending' THEN ASC END,
         CASE @sortorder WHEN 'descending' THEN DESC END
Run Code Online (Sandbox Code Playgroud)

它给了我语法错误.如何修复它以便我的CASE语句中有两个条件?

sql sql-server stored-procedures

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

Array.Sort用于带数字的字符串

我有以下示例代码:

List<string> test = new List<string>();
test.Add("Hello2");
test.Add("Hello1");
test.Add("Welcome2");
test.Add("World");
test.Add("Hello11");
test.Add("Hello10");
test.Add("Welcome0");
test.Add("World3");
test.Add("Hello100");
test.Add("Hello20");
test.Add("Hello3");

test.Sort();
Run Code Online (Sandbox Code Playgroud)

但是会发生什么,test.Sort将数组排序为:

"Hello1", 
"Hello10", 
"Hello100", 
"Hello11", 
"Hello2", 
"Hello20", 
"Hello3", 
"Welcome0", 
"Welcome2", 
"World", 
"World3"
Run Code Online (Sandbox Code Playgroud)

有没有办法对它们进行排序,以便它们string也具有正确的数字顺序?(如果结尾没有数字string,那么string总是先行 - 按字母顺序排列)

预期产量:

"Hello1", 
"Hello2", 
"Hello3", 
"Hello10", 
"Hello11", 
"Hello20", 
"Hello100", 
"Welcome0", 
"Welcome2", 
"World", 
"World3"
Run Code Online (Sandbox Code Playgroud)

c#

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

Winform 应用程序冻结

我是开发 Winform 应用程序的新手(使用 C# .NET)

当后面运行太多操作时,特别是当涉及大量数据从数据库读取/写入时,我的应用程序将冻结,有时甚至显示“无响应”。但应用程序并没有崩溃,它只是冻结,直到后面的所有代码完成执行。

我的问题是,如何“解冻”该应用程序。例如,用户仍然可以单击“取消”按钮来终止正在运行的任何操作,或者显示进度条或类似的东西?

c# winforms

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

生成唯一随机数

我知道有类似的问题,但我在这里有一个相当不同的场景.

我有一个SQL Server数据库,它将存储TicketNumber和其他详细信息.此TicketNumber是从C#程序中随机生成的,该程序将传递到数据库并存储在那里.TicketNumber必须是唯一的,可以是000000000-999999999.

目前,我所做的是:我将执行一个select语句来查询数据库中的所有现有TicketNumber:

Select TicketNumber from SomeTable
Run Code Online (Sandbox Code Playgroud)

之后,我将所有TicketNumber加载到List:

List<int> temp = new List<int>();
//foreach loop to add all numbers to the List
Random random = new Random();
int randomNumber = random.Next(0, 1000000000);
if !(temp.Contain(randomNumber))
//Add this new number to the database
Run Code Online (Sandbox Code Playgroud)

上面的代码没有问题,但是,当数据集变大时,性能会下降.(我现在接近十万条记录).我想知道是否有更有效的方法来处理这个问题?

我可以从C#应用程序或SQL Server端执行此操作.

c# sql-server ado.net

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

在数字前保留0

我需要帮助找出一个逻辑.

我有一个工作代码,代码将获取string并计算出每个数字,string然后加1.

        string str = "";
        str = Console.ReadLine();

        str = Regex.Replace(
                str,
                @"\d+",
                m => (Double.Parse(m.Groups[0].Value) + 1).ToString()
             );
Run Code Online (Sandbox Code Playgroud)

例:

如果我输入"用户000079从1月2日到2月24日赚1000美元".

代码将产生输出:"用户80从1月3日到2月25日赚1001美元".

问题是,我想保持在80和3前面的0(即用户000080从1月3日到2月25日赚1001美元)

我怎么做?

附加信息:让我澄清一下,这只是一个例子.我想要的只是为字符串中出现的每个数字添加1.因此,如果它意味着UserID,1月31日 - 是的,我仍然希望它们增加1

c#

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

发生Distinct时显示备用文本

我有一个示例数据如下:

ID          Message
-------------------
1           Car
2           Car
3           Car
4           Boat
5           Train
Run Code Online (Sandbox Code Playgroud)

我需要帮助来找出一个查询,这样当我这样做时SELECT DISTINCT ID, Message,结果将如下所示:

ID          Message
--------------------
Multiple    Car
4           Boat
5           Train
Run Code Online (Sandbox Code Playgroud)

每当出现重复的"消息"时,查询应将所有这些"分组"在一起,并用纯文本"多个"替换该ID.

(在我的实际数据库中,ID存储为nvarchar)

sql sql-server

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

通过附加计数器使每个字符串唯一

我有一个字符串列表,我想通过在它的末尾添加一个数字来使该列表中的每个字符串都是唯一的.此外,它不区分大小写,因此"apple"应该被认为是"Apple"或"apPlE"

例如:

List<string> input = new List<string>();
input.Add("apple");
input.Add("ball");
input.Add("apple");
input.Add("Apple");
input.Add("car");
input.Add("ball");
input.Add("BALL");
Run Code Online (Sandbox Code Playgroud)

预期产量:

"apple","ball","apple2","Apple3","car","ball2","BALL3"

我需要帮助来开发产生输出的逻辑.谢谢.

编辑:我不能有0和1,重复的字符串必须以2,3,4开头...

.net c#

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