数据库名改成动态传递的,连接不上呢

数据库名改为动态传递的,连接不上呢
public SqlConnection getConn(string dbname)
        {
            string conStr = "server=.\\SQL2005;uid=sa;pwd=sa;database=" + dbname + "";
            SqlConnection con = new SqlConnection(conStr);
            return con;
        }

        public SqlConnection getConn(string dbname)
        {
            dbname = "hkqpweb";
            string conStr = "server=.\\SQL2005;uid=sa;pwd=sa;database=" + dbname + "";
            SqlConnection con = new SqlConnection(conStr);
            return con;
        }

传递的数据库名是对的,第一种连接不上,第二种能连接上
------解决思路----------------------
你都假定是对的了,还有什么好说的
你调试下第一种传进来的究竟是什么dbname,然后组织成的conStr 字符串又是什么
------解决思路----------------------
你看看dbname的长度,是不是有不可见字符
------解决思路----------------------
数据库名改成动态传递的,连接不上呢
这是毁三关的节奏?改成下面的看看呢
string conStr = "server=.\\SQL2005;uid=sa;pwd=sa;database=" + dbname.Trim() + ";";

------解决思路----------------------
检查链接open时的链接字符串是否对
------解决思路----------------------

     这个问题以前遇到过 或许和.net版本有关(更新问题)  限制数据等

     http://www.dotnetspider.com/forum/302424-Operation-not-valid-due-current-state-object.aspx

------解决思路----------------------
报错吗?你把报错内容贴出来