小编Lor*_*tel的帖子

MySql的线程安全性选择Last_Insert_ID

我正在尝试使一些MSSQL代码也运行在MYSQL上,我只是打了这个地雷.Google表示,通常的方法是简单地执行插入操作,然后选择last_insert_ID()来查找写入的内容.

不过,这并不会让我觉得在多用户环境中是安全的.那里有一个狭窄的窗口,其他用户可以插入一些东西并导致错误的返回值.如何安全地插入并获取插入记录的密钥?

mysql multi-user

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

清理SQL数据

Google提出了各种关于清理Web访问查询的讨论,但我找不到任何解决我关注的问题:

在ac#程序中清理用户输入数据.这必须通过可逆转换完成,而不是通过删除.作为问题的一个简单例子,我不想破坏爱尔兰名字.

什么是最好的方法,是否有任何库函数可以做到这一点?

c# sql security

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

C#,如何处理常量表

这种语言显然没有合适的功能,这似乎很奇怪.

我发现自己的数据最好被表达为一个多维数组,但它完全不变,任何人都无法在不改变相关代码的情况下改变它.面对Delphi中的这些东西,答案是显而易见的 - 一个常量,其值是表.但是,C#似乎不支持这样的东西.

谷歌显示许多人对此抱怨,没有好的答案.

人们如何处理这种情况?

(并且不要说常量不属于代码 - 我碰到的最后一个是4个项目的所有可能的排列.除非时空变化的本质,这是固定的.)

发生了什么??有一个答案非常接近,我问的是一个细节,它消失了!简单地声明一个数组排序工作 - 唯一的问题是数组分配将每次运行.我前面的那个包含96个值 - 如何让它只初始化一次?我是否只需要接受范围远大于应有范围的范围?(因为它代表的是一个3行程序,其内部相当于O(n ^ 3)程序.)

c# constants

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

有没有办法让Resharper像Debug.Assert一样处理Trace.Assert?

它理解如果断言是假的,Debug.Assert将抛出而不是继续,因此它知道断言在此之后是真的.

我想跟Trace.Assert一样的推理.是的,你可以继续,如果你继续经过这样一个警告,然后抛出一个空的那就是你的问题.我想摆脱那些虚假的可能的空引用消息.

c# resharper

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

在C#中查找包含方法的所有类

我想在命名空间中搜索包含某个方法的所有类.如果一个类包含一个方法,那么我想创建一个类的实例并运行该方法.

显然我必须从反思开始,但​​我仍然坚持要去哪里.

编辑:

接口不是我想要的方式.

我正在寻找的是将测试功能嵌入到代码中,但是只有一个调用接口.如果有自检功能,请调用它.如果没有,请忽略它.

c# reflection

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

C#:为什么我的后台工作程序线程信号在没有完成时完成?

C#,使用VS2010,我有一些没有意义的东西.

在启动时,我的程序需要从文本文件中加载数百k.在确保加载代码工作正常后,我将它放在后台线程中.只要从IDE内部运行一切都很好,但是当它独立运行时,线程会说它已经完成了.这当然是热潮.

触发代码:

BackgroundWorker Background = new BackgroundWorker();
Background.RunWorkerCompleted += new RunWorkerCompletedEventHandler(DatabaseLoaded);
Background.DoWork += new DoWorkEventHandler(delegate { Database.Load(); });
Background.RunWorkerAsync();
Run Code Online (Sandbox Code Playgroud)

以及正在蓬勃发展的东西DatabaseLoaded().

我放了一些消息框来跟踪发生了什么:Load()方法的第一行和最后一行以及第一行DatabaseLoaded().

在IDE中,这会触发我的期望: Load()开始,Load()完成,DatabaseLoaded().但是,当单独运行时,我Load()开始,DatabaseLoaded()然后是未处理的异常框(加载器甚至没有构建空表,更不用说填充它们了.)

我疯了还是微软?

c# backgroundworker

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

为什么我被告知这种类型转换是多余的?

方程式很简单,int = int * int / int; 然而,整数的乘法可能会变得太大,我试图Int64在执行之前将所有内容都强制转换为s,然后将结果转换回int.因此我有:

int = (int)((Int64)int * (Int64)int / (Int64)int);
Run Code Online (Sandbox Code Playgroud)

并且它抱怨所有三个Int64演员阵容.

注意:目标是x86,因为我使用的是32位库. 机器本身是64位.我可以用x64目标来理解它.

  • 我错过了什么吗?
  • Resharper不理解中间值溢出的问题吗?

c# resharper

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

如何允许 HTML 在指定点中断?

我知道不间断空格,但我遇到了相反的问题,谷歌甚至没有发现其他人问这个问题。

我有一段文本:( <option A>/<option B>/<option C>选项的数量是可变的)我只想在斜杠处中断。防止它在其他地方损坏是微不足道的——用不间断的空格替换空格。我所困惑的是允许它在斜线后断裂。我是否只需要在斜杠后面插入一个额外的空格,即使这看起来不太好?

html text-formatting

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

Windows正在一台机器上删除我日期的斜杠

我的程序中有两种日期格式.在一台特定的机器上:

  • date.ToString("M/d/yyyy h:m:s tt")正在生产像11222013 12:0:0 AM.(这:0:0是可以接受的;它是一个通常不会被人读取的文件.)
  • date.ToString("MM/dd/yyyy hh:mm tt")正在生产像11222013 12:00 AM.

我的代码是在C#中.那个机器的人有一些编程经验,并且能够用Delphi获得同样的行为.为什么格式化日期中缺少正斜线?或者我应该建议他核武并铺好违规的盒子?

.net c# windows date-formatting

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

foreach和方法组

Resharper大大简化了一个循环,但是现在它让我想到一个未使用的变量,我该如何干净利落地做到这一点?

foreach (Field Test in Line.Where(IsStartKey))
    Phase = ScanPhase.Processing;
...
private static bool IsStartKey(Field Test)
{
    return Test.Value.StartsWith("Cabinet Name");
}
Run Code Online (Sandbox Code Playgroud)

测试当然是在原版中使用但在简化之后它没用.该行已被标记,但未提出任何改进建议.

c# linq code-cleanup

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