问题列表 - 第10412页

喜欢动态查询

我想like在动态参数化查询中使用关键字.我想保护我的查询免受SQL注入,所以我不想传递值,而是我想在执行查询时传递我的标准,

有没有办法可以做到这一点?

SELECT 
  ComposeMail.ID,
  ComposeMail.DateTime, 
  ComposeMail.Subject, 
  ComposeMail.CreatedBy, 
  ComposeMail.ReceiverStatus,
  Users.Name,
  ROW_NUMBER() OVER(ORDER BY '+ @p_SortExpression +') AS Indexing
FROM 
  ComposeMail 
INNER JOIN
  Users
ON
  ComposeMail.CreatedBy = Users.ID
WHERE 
  (ToReceipientID=@p)
  AND (
    ReceiverStatus=3 
    OR ReceiverStatus=4
  )
  AND (
    (Subject Like ''%' + @p3 + '%'') 
    OR (Body Like ''%' + @p3 + '%'') 
    OR (Name Like ''%' + @p3 + '%'')
  )
Run Code Online (Sandbox Code Playgroud)

这是我的动态查询字符串.我不想在这里传递值.

sql sql-injection dynamic

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

Java反射:类字段和方法的顺序是否标准化?

使用Java类上的反射来访问所有字段,方法等:
这些元素是否有标准化顺序(在某些标准中指定)?

当然,我可以凭经验检查,但我需要知道它是否总是一样的.

编辑:
我等待的问题:我需要的订单;)
长话短说:我有JAXB注释类,并且不希望在视觉上代表这些类.虽然XML属性的顺序既不与XML标准相关,也不与JAXB相关,但我希望对可视表示具有特定顺序的XML属性.
例如:开始结束.这伤害了一个人的直觉.

java reflection standards-compliance

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

PHP中的原始数据类型是通过引用传递的吗?

在PHP中,我经常进行大量的字符串操作.将我的代码拆分成多个函数是否可以,因为如果像字符串这样的原始类型按值传递,那么我将显着影响性能.

php performance byref

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

为什么jQuery似乎不鼓励使用常规OOP?

我们最近使用Prototype构建了一个Web应用程序,大量使用了Class.Create()功能.现在,我们正在考虑迁移到jQuery,因为它似乎被认为是一个"更好"的库.我一直在阅读有关该主题的一些内容,并发现jQuery没有像Prototype那样直接内置对类创建的支持.当然,还有.prototype和jQuery.extend(如/sf/ask/5563421/中所述),但之后一些更多的搜索,我觉得jQuery并不真的"想要"你这样编写脚本......

同一页面上有一篇帖子提到了John Resig的Classy插件,这对我来说很棒.但是,该页面表明它实际上是一个愚人节笑话,并且Resig实际上建议不要使用该代码.我很高兴,但我想知道这一切的原因是什么,当然,他们希望你做的是什么.有人可以开导我吗?

-编辑-

谢谢你有趣的答案.为了清楚起见:这是否意味着将我在Prototype中创建的类重写为"塑造"一个类的jQuery方式,并且仍然以与以前相同的"方式"使用它们?或者这仍然被认为是不好的做法,我应该采用不同的方法吗?

oop jquery prototypejs

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

如何防止Rake测试调用任务db:test:prepare

每次我想运行Rake测试时,都会调用任务db:test:prepare,它会从schema.rb和迁移重建我的测试环境数据库.我想要实现的是禁用db:test的调用:当我想测试make Rails应用程序时准备.是否可以不修改Rails gem?

rake ruby-on-rails

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

如何在不单击它的情况下触发表单上的默认按钮(winforms)?

我有两个文本框.一个用于登录ID,另一个用于密码.并且有一个按钮(提交).我需要一个采用登录ID和密码值的事件.即,不点击鼠标我需要调用此事件(只需在键盘上点击'enter').有谁能够帮我!

提前.作者Srini.

c# winforms

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

使用变量而不是参数索引和JDBC预处理语句

在许多编程语言中,这样的语句可以用于准备语句:

PreparedStatement statement = connection.prepareStatement(
    "SELECT id FROM Company WHERE name LIKE ${name}");
statement.setString("name", "IBM");
Run Code Online (Sandbox Code Playgroud)

但不是java.sql.PreparedStatement.在Java中,必须使用参数索引:

PreparedStatement statement = connection.prepareStatement(
    "SELECT id FROM Company WHERE name LIKE ?");
statement.setString(1, "IBM");
Run Code Online (Sandbox Code Playgroud)

有没有像第一个例子中那样使用字符串变量的解决方案?"$ {.*}"是否未在SQL语言中的其他位置使用,或者是否存在冲突?因为我会自己实现它(解析SQL字符串并用"?"替换每个变量,然后用Java方式).

问候,凯

java jdbc

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

什么原因导致页面呈现缓慢?

我很困惑.我查看了根据我的老板加载"慢"的页面调用的跟踪,导致页面部分加载,然后"跳转"到回发的记忆滚动位置.

我最终发现,使用我的跟踪,我的整个加载,从Begin PreInit到End Render,花了1.94秒,其中1.5个花费在Begin PreRender和End PreRender之间.

任何可能导致这种情况的想法?End PreRenderComplete的下一个最大加载时间是0.14秒.

问题可能来自我对SQL Server的查询,或者页面上的控件数量过多,即使大多数都是"隐藏"的?

[edit:]当我显示某个表单时,我的页面加载似乎很长.我的总渲染大小为91537字节,其中44483个专用于该特定形式.我的观点似乎有点巨大.另外:404文件到JS文件会导致负载延迟吗?

[更新:]所以我找到了运行时间最长的查询,看起来即使它看起来很笨重,但它已经在页面加载之前就已经运行很久了.作为补充信息:我在控件中使用了相当多的SqlDataSources,以填充我的下拉列表和其他有趣的东西.这是我的应用程序混乱吗?

asp.net optimization performance

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

处理应该是唯一值的接近不可能的碰撞

有许多系统依赖于某些特定值的唯一性.任何使用GUID的东西都会浮现在脑海中(例如,Windows注册表或其他数据库),但也会从对象创建哈希以识别它,因此需要此哈希是唯一的.

哈希表通常不介意两个对象是否具有相同的哈希,因为哈希仅用于将对象分解为类别,因此在查找时,不是表中的所有对象,而只是同一类别中的那些对象(必须将搜索对象的身份进行比较.

然而,其他实现(似乎)取决于唯一性.我的例子(这就是让我问这个的原因)是Mercurial的修订版ID.一进入 Mercurial的邮件列表中正确地指出:

在您的第一个十亿次提交中,变更集哈希意外冲突的几率基本为零.但我们会注意到它是否会发生.你会因为偶然打破SHA1而成名.

但即使是最小的概率并不意味着不可能.现在,我不想解释为什么完全可以依赖于唯一性(这已经在这里讨论).这对我来说非常清楚.

相反,我想知道(也许通过你自己的工作中的例子):

  • 是否有任何最佳做法来涵盖这些不可能的案例?

  • 它们是否应该被忽略,因为特别强烈的太阳风更有可能导致硬盘读取错误?

  • 他们至少应该进行测试,如果只是因为"我放弃了,你已经完成了不可能的"消息而失败了吗?

  • 或者甚至应该优雅地处理这些案件?

对我来说,特别是下面的内容很有趣,尽管它们有点敏感:

  • 如果你不处理这些案件,你会如何对付不听概率的直觉?

  • 如果你确实处理过它们,你如何证明这项工作是合理的(对你自己和他人而言),考虑到你有更多可能的案例你不能处理,比如超级新星?

language-agnostic unique

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

直接从RAM C++读取字节

任何人都可以向相对新手解释以下行为......

const char cInputFilenameAndPath[] = "W:\\testerfile.bin";
int filesize = 4584;

char * fileinrampointer;
fileinrampointer = (char*) malloc(filesize);

ifstream fsInputFileStream;
fsInputFileStream.open(cInputFilenameAndPath, fstream::in | fstream::binary);

fsInputFileStream.read((char *)(fileinrampointer), filesize);

for(int f=0; f<4; f++)
{
    printf("%x\n", *fileinrampointer);
    fileinrampointer++;
}
Run Code Online (Sandbox Code Playgroud)

我期待上面的代码将我刚读入的文件的前4个字节读入内存.在循环中,我只是显示指针指向的当前字节,然后递增指针准备好显示下一个字节.当我运行代码时,我得到:

37

ffffff94

42

ffffffd2

值是正确的,但每隔一个值似乎都填充到64位数.因为我要求它显示由'char size'指针指示的值,所以我期待char大小的结果,但是其他所有结果都是长的.如果我asign*fileinrampointer到一个无符号__int8它给我留下我想要的值(没有前导1)解决问题,但我只是想知道是否有人能解释上面发生了什么?

c++ memory

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