无法通过SqlHelper类建立连接

时间:2013-07-16 17:44:14

标签: c# asp.net sqlhelper

   string strCon =
           ConfigurationManager.ConnectionStrings["constr"].ConnectionString;


           Company.Common.SqlHelper.Connect = strCon;

获得此例外情况请帮助

"The type initializer for 'Company.Common.SqlHelper' threw an exception."}

  /// <summary>
/// The SqlHelper class is intended to encapsulate high performance, scalable best practices for 
/// common uses of SqlClient
/// </summary>
public sealed class SqlHelper
{
    public void MessageBox(string message, Control ControlID)
    {

        //tmp = "<script language='javascript'>";
        string tmp = "alert('" + message + "');";
        //tmp += "</script>";
        //ScriptManager.RegisterStartupScript(this, this.GetType(), "tmp", tmp, true); 
        //string CloseWindow;
        //CloseWindow = "alert('Hello World')";
        ScriptManager.RegisterStartupScript(ControlID, ControlID.GetType(), "tmp", tmp, true);
        // Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "MyScript", tmp);
    }
    public static string Connect = ConfigurationManager.ConnectionStrings["Constr"].ConnectionString.ToString();
    #region private utility methods & constructors

    // Since this class provides only static methods, make the default constructor private to prevent 
    // instances from being created with "new SqlHelper()"
    private SqlHelper() { }

    /// <summary>
    /// This method is used to attach array of SqlParameters to a SqlCommand.
    /// 
    /// This method will assign a value of DbNull to any parameter with a direction of
    /// InputOutput and a value of null.  
    /// 
    /// This behavior will prevent default values from being used, but
    /// this will be the less common case than an intended pure output parameter (derived as InputOutput)
    /// where the user provided no input value.
    /// </summary>
    /// <param name="command">The command to which the parameters will be added</param>
    /// <param name="commandParameters">An array of SqlParameters to be added to command</param>
    private static void AttachParameters(SqlCommand command, SqlParameter[] commandParameters)
    {
        if (command == null) throw new ArgumentNullException("command");
        if (commandParameters != null)
        {
            foreach (SqlParameter p in commandParameters)
            {
                if (p != null)
                {
                    // Check for derived output value with no value assigned
                    if ((p.Direction == ParameterDirection.InputOutput ||
                        p.Direction == ParameterDirection.Input) &&
                        (p.Value == null))
                    {
                        p.Value = DBNull.Value;
                    }
                    command.Parameters.Add(p);
                }
            }
        }
    }

}

2 个答案:

答案 0 :(得分:0)

问题可能是您的配置文件中没有名称为Constr的连接字符串,根据错误说明,问题应该在此行

public static string Connect = ConfigurationManager.ConnectionStrings["Constr"].ConnectionString.ToString();

答案 1 :(得分:0)

SqlHelper的类型初始化程序似乎唯一要做的就是:

public static string Connect = ConfigurationManager.ConnectionStrings["Constr"].ConnectionString.ToString();

这次投掷有什么例外?如果我猜测,配置中可能没有名为Constr的连接字符串。在那儿?你能告诉我们配置设置吗?否则,有什么例外?

另请注意,该行不需要.ToString()ConnectionString已经是一个字符串。