/// <summary>
    /// SQL执行语句
    /// </summary>
    public abstract class SqlHelper
    {
        private static readonly string strConnection = @"server=20101222-2147;database=school;Persist Security Info=True;uid=sa;pwd=hequanshui";//连接字符串没有问题,我做的其他网页也是用这个
        private static int nCommandTimeOut = DefauleCommandTimeOut;        /// <summary>
        /// 连接服务器超时时间
        /// </summary>
        public static int DefauleCommandTimeOut
        {
            get { return 30; }
        }        /// <summary>
        /// 数据库连接属性
        /// </summary>
        public static string Connection
        {
            get { return strConnection; }
        }        /// <summary>
        /// 数据库超时时间属性
        /// </summary>
        public static int CommandTimeOut
        {
            get { return nCommandTimeOut; }
            set { nCommandTimeOut = value; }
        }
执行到        public DataSet DsSelect(string _Name, bool _Order, string _Id)
        {
            //查询语句
            StringBuilder sqlSentence = new StringBuilder(Select);
            //查询参数
            StringBuilder sqlCondition = new StringBuilder();
            //查询结果
            DataSet DsSelect = new DataSet();
            if (!string.IsNullOrEmpty(_Name))
            {
                sqlCondition.Append(string.Format("StudentName='{0}' AND ", _Name));
            }
            if (!string.IsNullOrEmpty(_Id))
            {
                sqlCondition.Append(string.Format("Id='{0}' AND ", _Id));
            }
            if (sqlCondition.Length > 0)
            {
                sqlCondition.Remove(sqlCondition.Length - 4, 4);
                if (_Order)
                {
                    sqlCondition.Append(" order by id Desc");
                }
                sqlSentence.Append(" WHERE " + sqlCondition.ToString());
            }
            else
            {
                if (_Order)
                {
                    sqlCondition.Append(" order by id Desc");
                    sqlSentence.Append(sqlCondition.ToString());
                }
            }
            //执行SQL语句
            DsSelect = SqlHelper.ExecuteDataSet(sqlSentence.ToString(), null);//这一行指向null报错,提示“实例失败”
            return DsSelect;
        }到了这一句DsSelect = SqlHelper.ExecuteDataSet(sqlSentence.ToString(), null);就报错提示“用户代码未处理InvalidOperationException”“实例失败”,不知道是什么问题,是源码本身有问题还是我这边配置的问题啊

解决方案 »

  1.   

    server=20101222-2147改成你本机的server=.看看
      

  2.   

    这个得看SqlHelper类中ExecuteDataSet方法中的第二个参数是什么了??还有就是检查你拼凑出来的SQL语句是否正确(感觉你这出的问题比较大),如果不正确的话,传递给ExecuteDataSet方法的第一个参数的SQL语句估计在那个方法中就已经通不过,即非法操作(InvalidOperationException)
      

  3.   


            public static DataSet ExecuteDataSet(string cmdText, params SqlParameter[] cmdParms)
            {
                DataSet ds;
                SqlCommand cmd = new SqlCommand();
                SqlConnection conn = new SqlConnection(strConnection);
                try
                {
                    PrepareCommand(cmd, conn, null, CommandType.Text, cmdText, cmdParms);
                    DataSet dataset = new DataSet();
                    using (SqlDataAdapter da = new SqlDataAdapter())
                    {
                        da.SelectCommand = cmd;
                        da.Fill(dataset);
                    }
                    conn.Close();
                    cmd.Parameters.Clear();
                    ds = dataset;
                }
                catch
                {
                    conn.Close();
                    throw;
                }
                finally
                {
                    if (conn != null)
                    {
                        conn.Dispose();
                    }
                }
                return ds;
            }
      

  4.   

    我下的源码是这个http://down2.51aspx.com/jingmeiSchool.rar,大家帮我看看行不行
      

  5.   

    都试过了不行,但是如果自己新建一个空白的页面然后用那个连接字符串就可以成功读取数据库里面的数据,难道是web.config里要修改?