问题列表 - 第6728页

VB6 ADO Set rs = command.Execute

Set rs = command.Execute 
if not rs.EOF then
   'logic here
end if
Run Code Online (Sandbox Code Playgroud)

上面的代码在第2行失败,因为rs已关闭(可能oledb提供程序错误地认为它是一个insert命令,所以不需要返回任何内容).该命令是一个插入语句,如:

Insert into log(Name,Value) values("xxx", 123); select scope_identity()
Run Code Online (Sandbox Code Playgroud)

我需要在一次往返中从服务器返回身份.有任何想法吗?

PS:更新了带字段名称的插入语句(感谢Eduardo),但这不是问题.

vb6 ado

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

将中型代码库从Java 1.4.2迁移到Java 5的策略

我正在审查代码库(~20K LOC)并试图确定如何将它从1.4.2迁移到5.显然,这不是一个隔夜项目,我收到的建议是编写新代码反对Java 5并以零碎的方式迁移旧代码.此外,我不是Java 5新功能的专家(即我知道它们,但从未编写任何用于生产用途).

我的问题:

  1. Java 5的哪些功能通常用于生产代码?(即泛型,自动装箱等)是否有特征要避免/不被认为是最佳做法?

  2. 我可以使用哪些最好的重构策略来迁移这个大小的代码库?(即仅在编辑类时一次更改一个类,等等.)目标 - 降低代码库的风险.限制 - 进行重构的资源.

任何建议表示赞赏 - 提前谢谢.

更新 - 一年太晚了,但迟到总比没有好?=)

感谢您的所有评论 - 很多很棒的观点.在软件开发人员的生活中,总会有你努力完成的项目,但由于某些更"紧急"的事情,我们永远不会到处走.

关于Java 5的使用(当时),它是客户端生产环境中所需要的东西,所以这就是我们不使用Java 6的原因.

我发现,对于集合,枚举和基元拆箱的更强类型是我倾向于最常用的功能,包括旧代码和新代码.重构非常简单,但代码理解得到了显着改善,标准变得更容易实施.我最麻烦的是仿制药; 我认为这是一个我仍然没有机会完全掌握和欣赏的概念,因此我很难找到以前适用仿制药的案例.

再次感谢所有为此帖做出贡献的人,并为后期跟进道歉.

java migration refactoring

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

LinkageError JAXB 2.0 - > 2.1(Tomcat)

我在尝试访问在tomcat中运行的webservice时遇到此错误.

引起:java.lang.LinkageError:正在从引导类加载器加载JAXB 2.0 API,但是这个RI(来自jar:file:/ C:/ software/tomcat6/webapps/messaging/WEB-INF/lib/jaxb-impl) -2.1.5.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class)需要2.1 API.使用endorsed目录机制将jaxb-api.jar放在bootstrap类加载器中.(见http://java.sun.com/j2se/1.5.0/docs/guide/standards/)

我用google搜索错误并做了应该解决的问题(我把jaxb-api.jar,版本2.1放在JDK/lib/endorsed和JDK/jre/lib/endorsed中),但它似乎没有任何效果.

我之前没有,我不确定改变了什么.我使用的是JDK 6u10.

java tomcat jaxb endorsed

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

如何确定文件是否与文件掩码匹配?

我需要确定文件名是否适合文件掩码.文件掩码可以包含*或?字符.这有什么简单的解决方案吗?

bool bFits = Fits("myfile.txt", "my*.txt");

private bool Fits(string sFileName, string sFileMask)
    {
        ??? anything simple here ???
    }
Run Code Online (Sandbox Code Playgroud)

.net c# regex

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

普通的旧CLR对象与数据传输对象

POCO =普通旧CLR(或更好:类)对象

DTO =数据传输对象

在这篇文章中有一点不同,但坦率地说,我读到的大多数博客都以DTO的定义方式描述了POCO:DTO是用于在应用程序层之间移动数据的简单数据容器.

POCO和DTO是一回事吗?

.net c# poco dto

393
推荐指数
6
解决办法
14万
查看次数

为属性分配集合引用时的最佳实践

我非常注重C++思维,需要一些特定C#问题的指导.我们假设我们有以下类:

public class Foo
{
    private IList<Bar> _bars = new List<Bar>(); // Note IList<> vs List<>.

    public IList<Bar> Bars
    {
        get { return _bars; }
        set
        {
            ...
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,取而代之的是...,我倾向于清理_bars和论证中AddRange的项目,而不是仅仅分配给.我看到它,方式是,我想保持引用同一个项目,该项目的引用,而不是实际的是引用.setvaluevalue_barsvalueIList<Bar>value

那个错误的想法在我身边吗?你觉得怎么样?

编辑:经过一些评论后,我意识到我必须补充一点,我希望能够在Foo ctor中使用现有的Bars集合并从该集合中初始化_bars.所以,到目前为止,通过该修订和评论,这感觉更好:

public class Foo
{
    private readonly List<Bar> _bars = new List<Bar>();

    public Foo(IEnumerable<Bar> bars)
    {
        _bars.AddRange(bars);
    }

    public IList<Bar> Bars
    {
        get { return _bars; }
    }
}
Run Code Online (Sandbox Code Playgroud)

好点吗?

c# properties

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

Python中的字符串操作

我正在将一些代码从另一种语言转换为python.该代码将一个相当大的文件读入一个字符串,然后通过数组索引操作它,如:

str[i] = 'e'
Run Code Online (Sandbox Code Playgroud)

由于字符串是不可变的,这在python中不起作用.在python中执行此操作的首选方法是什么?

我已经看过该string.replace()函数,但它返回的字符串副本听起来不是很理想,因为在这种情况下字符串是整个文件.

python string replace

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

MySQL在使用ORDER BY时不使用索引("使用filesort")

由于在我的SQL代码中使用了"ORDER BY" - 语句,我遇到了一些非常重要的性能问题.

只要我没有在SQL中使用ORDER BY语句,一切都很好.但是,一旦我在SQL代码中引入ORDER BY:s,由于缺少正确的索引,一切都会显着减慢.人们会认为解决这个问题是微不足道的,但从论坛讨论等方面来看,这似乎是一个相当普遍的问题,我还没有看到这个问题的明确和简洁的答案.

问题:鉴于下表......

CREATE TABLE values_table (
  id int(11) NOT NULL auto_increment,
  ...
  value1 int(10) unsigned NOT NULL default '0',
  value2 int(11) NOT NULL default '0',
  PRIMARY KEY  (id),
  KEY value1 (value1),
  KEY value2 (value2),
) ENGINE=MyISAM AUTO_INCREMENT=2364641 DEFAULT CHARSET=utf8;

...如何在对value2的值进行排序时创建在查询表中的时使用的索引?

目前,在不使用ORDER BY子句时,提取正常.

请参阅以下EXPLAIN QUERY输出:

OK, when NOT using ORDER BY:

EXPLAIN select ... from values_table this_ where this_.value1 between 12345678 and 12349999 limit 10;

+----+-------------+-------+-------+---------------+----------+---------+------+------+-------------+
| id | select_type …

mysql optimization performance

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

观察者模式中的正确通知程序

我想实现一个Model类的Observer,它不会改变Model.因此,它应该能够使用const-Reference来访问Model.但注册观察员禁止这样做.

以下是我的项目中如何实现观察者模式:



//Attributes of type Observable are used by classes that want to notify others
//of state changes. Observing Objects register themselves with AddObserver.
//The Observable Object calls NotifyObservers when necessary.
class Notifier
{
public:
    AddObserver(Observer*);
    RemoveObserver(Observer*);
    NotifyObservers();
};

class Model
{
public:
    Notifier& GetNotifier() //Is non const because it needs to return a non-const 
    {                       //reference to allow Observers to register themselves.

         return m_Notifier; 
    }

    int QueryState() const;

    void ChangeModel(int newState)
    {
        m_Notifier.NotifyObservers();
    }

private:
    Notifier m_Notifier;
};

//This …
Run Code Online (Sandbox Code Playgroud)

c++ const const-correctness observer-pattern

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

从电子邮件正文中删除签名的最佳方法

我正在解析一些电子邮件.移动邮件,iPhone和我认为iPod touch将签名附加为单独的边界,使其易于删除.并非所有邮件客户端都这样做,只需使用" - "作为签名分隔符.

我需要从字符串中删除' - ',但只是最后一次出现.

样本副本

 hello, this is some email copy-- check this out
 --
 Tom Foolery
Run Code Online (Sandbox Code Playgroud)

我想要分裂' - ',删除最后一部分,我会拥有它,但是explode()和split()似乎都没有返回值得让我知道它是否做了什么,如果没有一场比赛.

我无法让preg_replace跨越多行.我已将所有行结尾标准化为\n

什么是最好的建议最终得到"你好,这是一些电子邮件副本 - 检查出来",没有,将有没有签名的情况,当然会有我不能的情况涵盖所有案件.

php regex parsing split explode

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