我写的程式如下:
...
protected OracleConnection oracleConnection1;
protected OracleCommand oracleCommand1;
private void Page_Load(object sender, System.EventArgs e)
{
oracleCommand1 = new OracleCommand();
oracleConnection1 = new OracleConnection();
oracleCommand1.CommandText = "SELECT * FROM SCOTT.EMP";
oracleConnection1.ConnectionString = "user id=test;data source=richer;password=password";
oracleConnection1.Open();
Response.Write(oracleCommand1.ExecuteNonQuery());
if(oracleConnection1.State==ConnectionState.Open)
{
oracleConnection1.Close();
}
// 在此处放置用户代码以初始化页面
}可是执行的时候,总是报错:
Exception Details: System.InvalidOperationException: Invalid operation. The connection is closed
可是我打开了数据库阿,这到底是怎么回事?急死人了!

解决方案 »

  1.   

    private void Page_Load(object sender, System.EventArgs e)
    {
    oracleConnection1 = new OracleConnection();
    oracleConnection1.ConnectionString = "user id=test;data source=richer;password=password";
    oracleConnection1.Open();
    oracleCommand1 = new OracleCommand("SELECT * FROM SCOTT.EMP", oracleConnection1);
    Response.Write(oracleCommand1.ExecuteNonQuery());
    if(oracleConnection1.State==ConnectionState.Open)
    {
    oracleConnection1.Close();
    }
    // 在此处放置用户代码以初始化页面
    }
      

  2.   

    你这样写没有为oracleCommand指定连接。
      

  3.   

    楼主可以用这样来连接数据库
    在web.config中加入<appSettings>
    <add key="Oracle" value="Data Source=richer;User ID=test;Password=password"/>
    </appSettings>
       
    然后
    private void Page_Load(object sender, System.EventArgs e)
    {
    OracleConnection cnn=new OracleConnection(System.Configuration.ConfigurationSettings.AppSettings["Oracle"]);
             cnn.Open();
    OracleCommand cmd = new OracleCommand();

    string strsql = "SELECT * FROM SCOTT.EMP"; Response.Write(cmd.ExecuteNonQuery(strsql ,cnn));
    cnn.Close();
    // 在此处放置用户代码以初始化页面
    }
      

  4.   

    Oracle  
     ODBC  
     New version: 
    "Driver={Microsoft ODBC for Oracle};Server=OracleServer.world;Uid=Username;Pwd=asdasd;"  
     Old version: 
    "Driver={Microsoft ODBC Driver for Oracle};ConnectString=OracleServer.world;Uid=myUsername;Pwd=myPassword;"  
     OLEDB, OleDbConnection (.NET)  
     Standard security: 
    "Provider=msdaora;Data Source=MyOracleDB;User Id=UserName;Password=asdasd;"  
    This one's from Microsoft, the following are from Oracle 
     Standard Security: 
    "Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;User Id=Username;Password=asdasd;"  
     Trusted Connection: 
    "Provider=OraOLEDB.Oracle;Data Source=MyOracleDB;OSAuthent=1;"  
     OracleConnection (.NET)  
     Standard: 
    "Data Source=Oracle8i;Integrated Security=yes";  
    This one works only with Oracle 8i release 3 or later 
     Declare the OracleConnection: C#: 
    using System.Data.OracleClient; 
    OracleConnection oOracleConn = new OracleConnection(); 
    oOracleConn.ConnectionString = "my connectionstring"; 
    oOracleConn.Open();  VB.NET: 
    Imports System.Data.OracleClient 
    Dim oOracleConn As OracleConnection = New OracleConnection() 
    oOracleConn.ConnectionString = "my connectionstring" 
    oOracleConn.Open()  
      

  5.   

    兄弟,我是按照你們的說法做的,怎麼還是不行阿?Faint!