问题列表 - 第6794页

在插入数据库之前或之后格式化数据?

我无法决定在将数据插入数据库之前格式化数据,还是将其拉出时更好.

我不是在谈论数据清理; 我们都知道要防止SQL注入.我说的是,如果用户给你一个URL,并且它前面没有http://,你应该在插入数据库之前添加它还是将它拉出来?那些更复杂的事情,比如格式化一大堆文本.我想在之前或之后使用HTML标记(或将其删除)吗?如果我稍后改变主意并希望以不同方式格式化,该怎么办?如果我已经格式化它,我不能这样做,但是如果我将它存储为未格式化的话我就可以...但是每次我从数据库中提取一些数据时我都会做额外的工作,我可以完成一次并完成它.

你的想法是什么?


从答案中,似乎普遍认为URL,电话号码和电子邮件(任何具有明确定义格式的内容)之类的内容应首先标准化为一致的格式.像文本这样的东西通常应该是原始的或可操作的格式,以获得最大的灵活性.如果速度是个问题,则可以存储两种格式.

database formatting

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

如何在Delphi应用程序中找到所有单元?

找到所有外部依赖项很容易.只需运行程序并打开模块信息窗口即可.但是我怎样才能找到所有内部依赖项?我知道程序会保留所有单元的列表,因为我已经在初始化代码中跟踪了一两次.但有没有简单的方法从调试器访问此列表?

delphi debugging

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

组合和关联关系有什么区别?

在OOP中,组合(由UML中的填充菱形表示)与类之间的关联(由UML中的空菱形表示)之间的区别是什么.我有点困惑.什么是聚合?我能有一个令人信服的现实世界的例子吗?

oop

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

有人可以解释下面的JavaScript代码吗?

除了解释之外,javascript中的$是什么意思?这是代码:

var ZebraTable = {
    bgcolor: '',
    classname: '',
    stripe: function(el) {
        if (!$(el)) return;
        var rows = $(el).getElementsByTagName('tr');
    for (var i=1,len=rows.length;i<len;i++) {
        if (i % 2 == 0) rows[i].className = 'alt';
        Event.add(rows[i],'mouseover',function() { 
ZebraTable.mouseover(this); });
    Event.add(rows[i],'mouseout',function() { ZebraTable.mouseout(this); });
    }
},
mouseover: function(row) {
    this.bgcolor = row.style.backgroundColor;
    this.classname = row.className;
    addClassName(row,'over');
},
mouseout: function(row) {
    removeClassName(row,'over');
    addClassName(row,this.classname);
    row.style.backgroundColor = this.bgcolor;
}
}

window.onload = function() {
ZebraTable.stripe('mytable');
}
Run Code Online (Sandbox Code Playgroud)

这是我获取代码的链接,您可以在页面上查看演示.它似乎没有使用任何框架.我实际上正在阅读一个JQuery教程,该教程使用了这段代码并在其上使用JQuery来进行表格条带化.链接在这里:

http://v3.thewatchmakerproject.com/journal/309/stripe-your-tables-the-oo-way

javascript jquery

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

如何将焦点更改为Selenium中的新弹出选项卡?

我正在使用Selenium和Firefox.

我在页面上有一个链接(比如linkA),它在新标签页中打开一个新页面.单击linkA时会显示新选项卡.然后我想与新页面进行交互.

这是我的selenium脚本:

  • 点击链接A.
  • 暂停5000
  • selectWindow标题
  • 单击linkB(注意:linkB在新页面上)

Selenium无法识别新标签.它报告:

[warn] Link的目标是'_blank',Selenium不支持!将目标随机化为:selenium_blank24003

有没有办法告诉Selenium与显示的标签进行交互?

selenium

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

T-SQL EXEC和范围

假设我的主体中有一个存储过程:

EXEC 'INSERT INTO ' + quotename(@table) ' blah...'
SELECT IDENT_CURRENT('' + @table + '')
Run Code Online (Sandbox Code Playgroud)

IDENT_CURRENT()是否保证在EXEC中获得该行的标识?IDENT_CURRENT()"返回在任何会话和任何范围内为特定表生成的最后一个标识值",但EXEC中的范围与存储过程不同,对吧?

我想确保如果一次多次调用存储过程,则选择正确的标识.

编辑:或者我需要在EXEC中同时执行INSERT和SELECT,如下所示:

declare @insert nvarchar
set @insert = 
    'INSERT INTO ' + quotename(@table) ' blah...' +
    'SELECT IDENT_CURRENT(''' + @table + ''')'
EXEC @insert
Run Code Online (Sandbox Code Playgroud)

如果是这种情况,如果我想在T-SQL中继续使用更多代码,如何选择EXEC的结果?像这样(虽然它显然不正确):

declare @insert nvarchar
set @insert = 
    'INSERT INTO ' + quotename(@table) ' blah...' +
    'SELECT IDENT_CURRENT(''' + @table + ''')'

declare @ident int
set @ident = EXEC @insert

-- more code
SELECT * FROM blah
Run Code Online (Sandbox Code Playgroud)

更新:在第一个片段中,如果我SELECT SCOPE_IDENTITY()而不是使用IDENT_CURRENT(),则SELECT返回NULL.:(

sql t-sql identity scope

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

将非泛型集合转换为泛型集合的最佳方法

将非泛型集合转换为泛型集合的最佳方法是什么?LINQ有办法吗?

我有以下代码.

public class NonGenericCollection:CollectionBase
{
    public void Add(TestClass a)
    {
        List.Add(a);
    }
}

public class ConvertTest
{
    public static List<TestClass> ConvertToGenericClass( NonGenericCollection    collection)
    {
        // Ask for help here.
    }
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

c# generics enumerator

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

设计函数f(f(n))== - n

我上次采访时遇到的一个问题:

设计一个函数f,这样:

f(f(n)) == -n
Run Code Online (Sandbox Code Playgroud)

哪里n是32位有符号整数 ; 你不能使用复数运算.

如果您无法为整个数字范围设计此类功能,请将其设计为可能的最大范围.

有任何想法吗?

math integer

841
推荐指数
34
解决办法
8万
查看次数

幂等PostgreSQL DDL脚本

我正在寻找一种以幂等方式编写postgreSQL架构更改脚本的方法.

在MSSQL中,我可以这样做:

if(not exists(select * from information_schema.columns where table_name = 'x' and column_name = 'y'))
begin
    alter table x add y int
end
go
Run Code Online (Sandbox Code Playgroud)

PostgreSQL似乎不允许ad-hoc pl/pgsql与MSSQL使用T-SQL的方式相同,所以我不能在SQL脚本中使用控制结构并使用psql -f x.sql运行它.

我知道如果对象已经存在,PostgreSQL将抛出一个错误,但我不想忽略错误.

我可以使用一些模式版本控制技术,如dbdeploy,但我真的很喜欢通过psql运行一组文件的简单性,而不会产生任何不必要的副作用.

这可能吗?

谢谢,马克

database postgresql plpgsql

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

Rails与相同模型的关联

我有两个具有以下关联的类:

class Incident
  has_one :assignee
  has_one :technician

class User 
  has_many :incidents
Run Code Online (Sandbox Code Playgroud)

请注意,受理人和技术人员字段引用User类型的对象.这些关系应该如何在模型中?

ruby-on-rails associations

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