【问题标题】:ConnectionString Configuration Error连接字符串配置错误
【发布时间】:2009-04-15 20:46:31
【问题描述】:

我正在尝试使用 asp.net、sql 和 xml 制作一个 RSS 提要。 我收到一个错误

编译器错误消息:CS0103: 名称“MyConnString”不存在 当前上下文”在第 22 行 "SqlConnection objConnection = 新 SqlConnection("MyConnString");

我的网络配置包含

<connectionStrings>
    <add name="MyConnString" connectionString="
     providerName="System.Data.SqlClient" />
  </connectionStrings>

这里是代码

<%@ Page Language="C#" MasterPageFile="ContentMasterPage.master" Debug="true" %>

<%@ Import Namespace="System.Xml"%>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.SqlClient" %>

<script runat="server">
    void Page_load(object sender, System.EventArgs e)
    {
        Response.Clear();
        Response.ContentType = "text/xml";
        XmlTextWriter objX = new XmlTextWriter(Response.OutputStream, Encoding.UTF8);
        objX.WriteStartDocument();
        objX.WriteStartElement("rss");
        objX.WriteAttributeString("version", "2.0");
        objX.WriteElementString("title", "News");
        objX.WriteElementString("link", "http://news.ca/news.aspx");
        objX.WriteElementString("description", "The latest headlines");
        objX.WriteElementString("copyright", "(c)2009, News Club, All rights reserved.");
        objX.WriteElementString("ttl", "5");
        SqlConnection objConnection = new SqlConnection("MyConnString");
        objConnection.Open();
        string sql = "SELECT TOP 5 Title, Description, ArticleID, DatePulished FROM articles ORDER BY DatePublished DESC";
        SqlCommand objCommand = new SqlCommand(sql, objConnection);
        SqlDataReader objReader = objCommand.ExecuteReader();
        while (objReader.Read())
        {
            objX.WriteStartElement("item");
            objX.WriteElementString("title", objReader.GetString(0));
            objX.WriteElementString("description", objReader.GetString(1));
            objX.WriteElementString("link", ("http://news.ca/GetArticle.aspx?id=" + objReader.GetInt32(2).ToString()));
            objX.WriteElementString("pubDate", objReader.GetDateTime(3).ToString("R"));
            objX.WriteEndElement();
        }
        objReader.Close();
        objConnection.Close();
        objX.WriteEndElement();
        objX.WriteEndElement();
        objX.WriteEndDocument();
        objX.Flush();
        objX.Close();
        Response.End();
    }
</script>

【问题讨论】:

    标签: c# .net asp.net configuration


    【解决方案1】:
    SqlConnection objConnection = new SqlConnection("MyConnString");
    

    这是编译器遇到困难的那一行。您是否将实际连接字符串替换为“MyConnString”,或者 MyConnString 是否应该是页面上的字符串值?

    我的应用中有类似的代码行:

    SqlConnection oConn= new SqlConnection(_connString);
    

    您也可以从 Web.Config 中获取此值

    SqlConnection oConn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnString"].ConnectionString);
    

    【讨论】:

      【解决方案2】:

      SqlConnection 采用 connectionString 而不是 web.config 中的引用。或仔细检查您的web.config

      【讨论】:

      • 是的,
      【解决方案3】:

      正如例外所说,你在这一行有一个错误:

      SqlConnection objConnection = new SqlConnection("MyConnString");
      

      假设你在 web.config 的 connectionStings 部分有你的连接字符串,你应该像这样设置你的连接字符串:

      SqlConnection objConnection = new 
      SqlConnection(ConfigurationManager.ConnectionStrings["MyConnString"]);
      

      顺便说一下,您应该添加 System.Configuration 作为对您的项目的引用,您可以使用 ConfigurationManager 类。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-31
        • 2021-04-12
        • 2011-08-17
        • 2013-02-11
        • 1970-01-01
        • 2012-05-13
        相关资源
        最近更新 更多