小编Kar*_*der的帖子

更改列:null为非null

我有一个表有几个可以为空的整数列.由于多种原因,这是不可取的,所以我希望将所有空值更新为0,然后将这些列设置为NOT NULL.除了将空值更改为0,必须保留数据.

我正在寻找特定的SQL语法来将列(调用它ColumnA)改为" not null".假设数据已更新为不包含空值.

使用SQL Server 2000.

t-sql sql-server null alter-table alter-column

1177
推荐指数
8
解决办法
136万
查看次数

外键是否在SQL Server中自动编入索引?

以下SQL语句是否会自动在Table1.Table1Column上创建索引,还是必须显式创建索引?

数据库引擎是SQL Server 2000

       CREATE TABLE [Table1] (
. . .
            CONSTRAINT [FK_Table1_Table2] FOREIGN KEY 
            (
                [Table1Column]
            ) REFERENCES [Table2] (
                [Table2ID]
            )

        )
Run Code Online (Sandbox Code Playgroud)

sql-server indexing foreign-keys

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

打开IE浏览器窗口

webbrowser提供了一种通过该webbrowser.open()方法使用浏览器窗口启动URL的便捷方式.有许多浏览器类型可供使用,但在Windows上运行python时似乎没有明确的方法来启动Internet Explorer.

WindowsDefault 仅当Internet Explorer设置为默认浏览器时才有效,这不是我可以做出的假设.

有没有办法在不恢复到Windows API调用的情况下显式启动到Internet Explorer的URL?

python browser internet-explorer

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

参考滥用:值得清理?

我继承了一些广泛而不必要地使用ref关键字的代码.如果不使用ref,原始开发人员显然担心对象会被克隆为原始类型,并且在编写50k +代码行之前没有费心去研究这个问题.

这与其他不良编码实践相结合,创造了一些表面上非常危险的情况.例如:


Customer person = NextInLine(); 
//person is Alice
person.DataBackend.ChangeAddress(ref person, newAddress);
//person could now be Bob, Eve, or null
Run Code Online (Sandbox Code Playgroud)

你能想象走进商店改变你的地址,走出一个完全不同的人吗?


可怕,但在实践中,在这个应用程序中使用ref似乎是无害的多余.我无法证明清理它需要花费大量时间.为了帮助推销这个想法,我提出了以下问题:

如何不必要地使用ref是破坏性的?

我特别关心维护.具有实例的合理答案是优选的.

我们也欢迎你争辩说没有必要进行清理.

c# ref

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

将枚举序列化为int

我希望通过一个Web服务返回以下类,该服务包含一个枚举类型作为其成员之一.

[Serializable, XmlRoot("GeoCoordinate")]
public class GeoCoordinate
{
    public enum AccuracyLevel
    {
        Unknown = 0,
        Country = 1,
        Region = 2,
        SubRegion = 3,
        Town = 4,
        PostalCode = 5,
        Street = 6,
        Intersection = 7,
        Address = 8,
        Premise = 9
    }

    private AccuracyLevel _accuracy;

    // ... more members


    public AccuracyLevel Accuracy
    {
        get { return _accuracy; } 
        set { _accuracy = value;}
    }
}
Run Code Online (Sandbox Code Playgroud)

这样可以正常工作,但会以下列形式返回结果:

<!-- ... -->
<Accuracy>Unknown or Country or Region or SubRegion or Town or 
  PostalCode …
Run Code Online (Sandbox Code Playgroud)

.net enums xml-serialization

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

参数化DB2 Query From .NET

我试图使用客户端访问ODBC驱动程序使用以下代码从.NET运行针对DB2数据库的参数化查询:

var db2Cmd = new OdbcCommand("INSERT INTO presnlats (LAT) VALUES (@LAT)", db2Conn);
db2Cmd.Parameters.AddWithValue("@LAT", insertValue);
Console.Out.WriteLine(db2Cmd.ExecuteNonQuery());
Run Code Online (Sandbox Code Playgroud)

执行时,OdbcException抛出一个:

错误[42S22] [IBM] [iSeries Access ODBC驱动程序] [DB2 UDB] SQL0206 - 列@LAT不在指定的表中.

互联网似乎暗示客户端访问ODBC驱动程序支持参数化查询,但此错误似乎表明不是这样.提供的代码有什么问题吗?

c# db2 odbc parameterized-query

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

在Java中将Object []数组转换为List

在我使用数据表创建的primefaces 3.5表单上,rowKey值不作为List返回,因此我收到以下错误:

JBWEB000309: type JBWEB000066: Exception report

JBWEB000068: message For input string: "foreignPartyId"

JBWEB000069: description JBWEB000145: The server encountered an internal error that prevented it from fulfilling this request.

JBWEB000070: exception

javax.servlet.ServletException: For input string: "foreignPartyId"
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:606)
JBWEB000071: root cause

java.lang.NumberFormatException: For input string: "foreignPartyId"
    java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
    java.lang.Integer.parseInt(Integer.java:492)
    java.lang.Integer.parseInt(Integer.java:527)
    javax.el.ListELResolver.toInteger(ListELResolver.java:407)
    javax.el.ListELResolver.getValue(ListELResolver.java:199)
...
Run Code Online (Sandbox Code Playgroud)

我知道原因是因为我试图用Object []数组中的值填充数据表,而不是List.Object []数组实际上是来自getResultList()的值,使用createNativeQuery方法查询Oracle数据库.

我的问题是:如何将Object []数组中的值转换为List以便填充数据表?

我已经尝试使用Arrays.toList()方法,然后迭代将值添加到列表中,但据我所知,它只返回已支持数组的固定大小列表.它不返回值列表.

任何帮助将不胜感激.如果我没有提供足够的细节,我表示歉意.谢谢.

java arrays list primefaces

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

我怎么知道达到Long.MAX_VALUE的'long'值

下面是我的代码,但该if声明不起作用.

int i = 0;
while (true) {
  long l = fibonacci(i++);
  if (l < 0L && l > Long.MAX_VALUE) {
    System.out.println("over");
    break;
}
Run Code Online (Sandbox Code Playgroud)

}

我怎么知道long价值是否达到了Long.MAX_VALUE

java android genetic-algorithm

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