2011-12-01 40 views
0

UPDATE:错误是由命名为OleDbConnection的隐藏的OleDbConnection构造,因此不呈现所述过载方法类引起的。无法传递连接字符串OleDbConnection的

我在学习如何使用OLE数据库连接,但是我遇到了一个probem马上的早期阶段。尽管学生的重载方法来创建一个OleDbConnection连接它根本不会让我传递一个连接字符串。

继承人什么,我想。

private OleDbConnection _myConnection = null; 

public bool CreateConnection() 
{ 
    try 
    { 
     _myConnection = new OleDbConnection(ConfigurationManager.ConnectionStrings["OracleDefault"].ConnectionString); 
    } 
    catch (Exception e) 
    { 
     throw new Exception(e.Message); 
    } 

    return true; 
} 

现在似乎没有要什么不对,但是我得到一个错误,指出该方法具有0参数,但被调用,有1个说法。我看到无数的例子表明它以这种方式完成,但由于某种原因,它不会让我这样做。有任何想法吗?

更新:删除了分号作为它不是应该在,但是我贴这个不是问题的例子。它根本不会接受任何形式的字符串。

+0

奇怪的是,这对我很有用。请看看http://stackoverflow.com/questions/178456/what-is-the-proper-way-to-re-throw-an-exception-in-c。 “抛出新的异常(e.Message);”是非常糟糕的做法,因为你将失去你的堆栈跟踪(等等)。 – DaveShaw

+0

感谢您的评论和链接戴夫。抛出新的异常不会停留在那里,它只是一个快速的类型在这里粘贴。 – CSharpened

回答

0

UPDATE:错误是由命名为OleDbConnection的隐藏的OleDbConnection构造,因此不呈现所述过载方法类引起的。

1

只需删除;在[“OracleDefault”] .ConnectionString之后。使用替代

+0

The;不应该在那里。这是我在这里输入的例子中的一个错误。即使删除了它,它仍然不接受任何参数。 – CSharpened

0

_myConnection = new OleDbConnection(ConfigurationManager.ConnectionStrings.["OracleDefault"].ConnectionString); 

_myConnection = new OleDbConnection(ConfigurationManager.ConnectionStrings.["OracleDefault"].ConnectionString;); 

构造包含超载需要

+0

The;不应该在那里。这是我在这里输入的例子中的一个错误。即使删除了它,它仍然不接受任何参数 – CSharpened