我用数据源控件的是后能连上数据库
<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:myWeb %>" ///这句
        SelectCommand="SELECT * FROM [BlogComment]"></asp:SqlDataSource>
    </form>但是我自己连却提示出错:
ServerVersion = “conn.ServerVersion”引发了“System.InvalidOperationException”类型的异常我是用string strCon = ConfigurationManager.ConnectionStrings["myWeb"].ConnectionString;连接的 数据源龙剑不也是的吗?我怎么就连不上???????

解决方案 »

  1.   

    string strCon = "Data Source=(local);Database=BooksManage;Uid=sa;Pwd=5354";
      

  2.   

    自己怎么连接的
    里SqlConnetion 是否open
    sqlcommand是否使用了SqlConnetion 
      

  3.   

    InvalidOperationException 类   当方法调用对于对象的当前状态无效时引发的异常。 可以从这句话入手 具体的代码太少 没办法
      

  4.   

    问题找到了 我出错时在构造函数里这句:cmd.Connection=conn;
    可是我吧这局放在普通的函数里这样就不出错了:
    cmd = new SqlCommand(query, conn);       //conn在这!!
                if (conn.State == System.Data.ConnectionState.Closed)
                    conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                return dr;还是比较郁闷的
      

  5.   

    这样就好了 代码:public class DBHelper
        {        SqlConnection conn;
            string strCon = ConfigurationManager.ConnectionStrings["myWeb"].ConnectionString;
            SqlCommand cmd;
            public DBHelper()
            {
                conn = new SqlConnection(strCon);
            }
            //数据阅读器
            public SqlDataReader ExecuteReader(string query)
            {
                cmd = new SqlCommand(query, conn);
                if (conn.State == System.Data.ConnectionState.Closed)
                    conn.Open();
                SqlDataReader dr = cmd.ExecuteReader();
                return dr;
            }
    }