C# System.InvalidOperationException:

C# System.InvalidOperationException:,c#,asp.net,database,oracle,C#,Asp.net,Database,Oracle,例外情况: System.InvalidOperationException:ExecuteReader:尚未初始化连接属性。位于System.Data.OleDb.OleDbCommand.ValidateConnectionsString方法位于System.Data.OleDb.OleDbCommand.ValidateConnections,TransactionString方法位于System.Data.OleDb.OleDbCommand.ExecuteReaderInternalC

例外情况:

System.InvalidOperationException:ExecuteReader:尚未初始化连接属性。位于System.Data.OleDb.OleDbCommand.ValidateConnectionsString方法位于System.Data.OleDb.OleDbCommand.ValidateConnections,TransactionString方法位于System.Data.OleDb.OleDbCommand.ExecuteReaderInternalCommand行为,字符串方法位于 System.Data.OleDb.OLEDBCOMAND.ExecuteReaderCommandBehavior位于System.Data.OleDb.OLEDBCOMAND.ExecuteReader位于_Default.btnLogIn_ClickObject sender,事件参数e位于c:\Users\b2patso\Desktop\SO Maintenance\Default.aspx.cs:第29行


有人知道怎么回事吗?我正在使用asp.net C和visual studio 2013。db是oracle

从康涅狄格州的USERMASTER尝试OleDbCommand cmd=new-OleDbCommandSELECT*

您是否将conn传递给cmd?string strConString=ConfigurationManager.ConnectionString[SOConnectionString].ConnectionString;OLEDB连接conn=新的OLEDB连接STRCONSTRING;OleDbCommand cmd=新的OleDbCommand从USERMASTER中选择*;string ID=Request.Form[txtID];字符串密码=Request.Form[txtPassword];从康涅狄格州的USERMASTER尝试OleDbCommand cmd=new-OleDbCommandSELECT*;它的工作。。。但是我怎么知道数据库中的数据已经传递出去了???是用whileRead吗?是的,whileRead应该做这个工作
    protected void btnLogIn_Click(object sender, EventArgs e)
    {
        string ID = Request.Form["txtID"];
        String password = Request.Form["txtPassword"];
        string strConString = ConfigurationManager.ConnectionStrings["SOConnectionString"].ConnectionString;
        OleDbConnection conn = new OleDbConnection(strConString);
        OleDbCommand cmd = new OleDbCommand("SELECT * FROM USERMASTER WHERE USERID =" + ID + "");

        try
        {

           // ClientScript.RegisterStartupScript(this.GetType(), "yourMessage", "alert('" + ID + " " + password + "');", true);
            conn.Open();
            OleDbDataReader dr;

            dr = cmd.ExecuteReader();
            txtID.Text = "test1";
            //txtPassword.Text = dr["UserPwd"].ToString();
            //OleDbDataReader dr;
            //while (dr.Read()){
            //    ClientScript.RegisterStartupScript(this.GetType(), "yourMessage", "alert('" + ID + " " + password + "');", true);
            //    txtPassword.Text = dr["UserPwd"].ToString();
            //}

        }
        catch (Exception ex)
        {
            txtID.Text = "ex";
            lbltest.Text = ex.ToString();


        }
        finally
        {
            conn.Close();
            conn.Dispose();
        }