问题列表 - 第9615页

Java的等价于PHP的mysql_real_escape_string()

是否存在类似于PHP的mysql_real_escape_string()的Java?

这是为了在将它们传递给Statement.execute()之前逃避SQL注入尝试.

我知道我可以使用PreparedStatement,但我们假设这些是一次性语句,因此准备它们会导致性能降低.我已经将代码更改为使用PreparedStatement,但考虑到现有代码的结构,escape()函数会使代码更改更容易查看和维护; 我更喜欢易于维护代码,除非有一个令人信服的理由来增加复杂性.此外,PreparedStatements由数据库以不同方式处理,因此这可能使我们暴露于数据库中我们之前未遇到过的错误,在发布到生产之前需要进行更多测试.

Apache StringEscapeUtils escapeSQL()仅转义单引号.

后记:在我继承的环境中存在许多微妙之处,我在我的问题中故意避免.

需要考虑的两点:

1)准备好的语句不是灵丹妙药,也不能提供100%的SQL注入保护.某些数据库驱动程序使用不安全的字符串连接实例化参数化查询,而不是将查询预编译为二进制形式.此外,如果您的SQL依赖于存储过程,则需要确保存储过程本身不会以不安全的方式构建查询.

2)大多数预准备语句实现将语句绑定到语句被实例化的数据库连接上.如果您正在使用数据库连接池,则需要注意
仅使用准备好的语句引用与其准备的连接.一些池化机制确实透明地实现了这一点.否则,您也可以汇集预准备语句或(最简单但更多开销)为每个查询创建一个新的预准备语句.

java mysql sql security jdbc

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

当子控件具有焦点时,在窗体上捕获KeyUp事件

我需要在表单中捕获KeyUp事件(以切换"全屏模式").这是我正在做的事情:

protected override void OnKeyUp(KeyEventArgs e)
{
    base.OnKeyUp(e);

    if (e.KeyCode == Keys.F12) this.ToggleFullScreen();
}

private void ToggleFullScreen()
{
    // Snazzy code goes here           
}
Run Code Online (Sandbox Code Playgroud)

这样工作正常,除非窗体上的控件具有焦点.在那种情况下,我根本没有得到这个事件(也试过OnKeyDown - 也没有运气).

我可以从子控件处理KeyUp事件,但是表单上的控件是动态生成的,并且可能有很多控件 - 每个控件都有很多自己的子控件.

有没有办法做到这一点,而不为屏幕上的每个控件生成事件处理程序(我当然可以使用递归函数)?

.net c# event-handling winforms

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

Excel - 根据另一个列表提取数据

我有一个Excel工作表,其中包含两列(名称/ ID),然后是另一个列表,它只是上述较大列表中的名称的子集.我想通过子集列表,然后从较大的列表(名称/ ID)中提取数据并将其放在其他位置......如果名称在子集上,则基本上只从较大的列表中获取数据.

我尝试使用过滤器,但无法使其工作.思考?

谢谢.

excel extract

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

获取MySQL中的表的行数?

任何人都可以告诉我,在查找表的行数时,MySQL中哪个是更好的appraoch:是否更好做

SELECT COUNT(*) FROM TABLE_NAME
Run Code Online (Sandbox Code Playgroud)

或者查找表TABLE中的行数INFORMATION_SCHEMA

这是计算页面分页计数的常用操作吗?

我应该补充说,表最多只有几千行.

谢谢

马丁奥谢.

mysql sql row count

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

发布'xx'的并发快照不可用,因为它尚未完全生成或日志读取器A

我在使SQL Server(2005)正常工作时遇到各种麻烦.当我运行客户端(SQL Server Express 2005)时,我收到以下错误"发布的并发快照'xx'不可用,因为它尚未完全生成或日志读取器A"

错误被裁掉了.

我尝试过: - 删除订阅 - 删除发布并重新开始 - 重新启动服务器和客户端. - 收缩数据库

一切都没有任何改变.

我知道客户端可以看到网络共享\ servername\repldata,其中有一个UNC子文件夹,其中包含快照(更深层次的文件夹,其中包含pubName和dateTime编码)

任何提示或旅行都将非常感激

sql-server replication

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

未封闭的数据库连接会发生什么?

今天早些时候我在我们的一个项目中发现了一个错误 - 有一个永远不会关闭的数据库,我的意思是从不调用Close()方法.但是,当我关闭应用程序时,连接已关闭(在sql管理工作室中多次检查).为什么?

.net database-connection

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

传递关键字参数

我有一个需要"通过"特定关键字参数的类函数:

def createOrOpenTable(self, tableName, schema, asType=Table):
    if self.tableExists(tableName):
        return self.openTable(tableName, asType=asType)
    else:
        return self.createTable(self, tableName, schema, asType=asType)
Run Code Online (Sandbox Code Playgroud)

当我调用它时,我收到如下错误:

TypeError: createTable() got multiple values for keyword argument 'asType'
Run Code Online (Sandbox Code Playgroud)

有没有办法"通过"这样的关键字参数?

我想到了几个答案,但没有一个是最优的.从最差到最好:

  • 我可以在一个或多个函数上更改关键字名称,但我想对所有三个函数使用相同的关键字,因为该参数具有相同的含义.

  • 我可以asType按位置而不是按关键字传递参数,但如果我将其他关键字参数添加到openTablecreateTable,我必须记住更改调用.我宁愿它自动适应,就像我可以使用关键字形式一样.

  • 我可以在**args这里使用表单来获取关键字参数的字典而不是使用默认参数,但这似乎是使用大锤来拍打飞行(因为需要额外的代码行才能正确解析它).

有更好的解决方案吗?

python

5
推荐指数
3
解决办法
2944
查看次数

@在AndroidManifest.xml文件中

来自Rick Rogers的O'Reilly着作"Android应用程序开发",John Lombardo,Zigurd Mednieks和Blake Meike,第23页:

 <TextView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="@string/hello"
    />
Run Code Online (Sandbox Code Playgroud)

从第44页开始:

 <application android:icon="@drawable/icon2">
Run Code Online (Sandbox Code Playgroud)

@上述每个片段的含义是什么?

xml android

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

如何裁剪巨幅图像

我需要在C#中处理大图像(20,000x20,000像素).由于内存限制,直接打开这些图像不是可行的方法,但我想要做的是将图像分割成更小的部分(裁剪).我一直在寻找可以解决问题的第三方库,但到目前为止还没有结果.我尝试过FreeImage和ImageMagick,但他们无法打开20,000x20x000像素的图像.我怎样才能做到这一点?

c# image crop

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

从集合中通过索引获取一组项目的最优雅方法是什么?

特定

IList<int> indexes;
ICollection<T> collection;
Run Code Online (Sandbox Code Playgroud)

什么是最优雅的方式来提取所有牛逼收集基础上,提供的索引的索引

例如,如果包含集合

"Brian", "Cleveland", "Joe", "Glenn", "Mort"
Run Code Online (Sandbox Code Playgroud)

并包含索引

1, 3
Run Code Online (Sandbox Code Playgroud)

回报将是

"Cleveland," "Glenn"
Run Code Online (Sandbox Code Playgroud)

编辑:假设索引始终按升序排序.

c#

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