2009-04-15 14 views
0

Ich versuche, einen RSS-Feed mit asp.net, SQL und XML zu machen. Ich erhalte einen FehlerConnectionString Konfigurationsfehler

Compiler-Fehlermeldung: CS0103: Der Name 'myConnString' existiert nicht der aktuelle Kontext in "on line 22 "SqlConnection objConnection = new SqlConnection (" myConnString");

Meine Web-Config enthält

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

Hier ist der Code

<%@ 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> 

Antwort

3
SqlConnection objConnection = new SqlConnection("MyConnString"); 

Das ist die Linie, die der Compiler mit einer schwierigen Zeit mit. Haben Sie Ihre tatsächliche Verbindungszeichenfolge durch "MyConnString" ersetzt oder soll MyConnString ein Zeichenfolgenwert auf der Seite sein?

Ich habe eine ähnliche Zeile Code in meiner App:

SqlConnection oConn= new SqlConnection(_connString); 

Sie können diesen Wert auch aus der

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

SqlConnection nimmt die connectionString keine Referenz in der web.config. Oder überprüfen Sie Ihre web.config

+0

ja,

0

Web.Config bekommen als die Ausnahme, sagt, Sie haben einen Fehler auf diese Zeile:

SqlConnection objConnection = new SqlConnection("MyConnString"); 

Angenommen, Sie haben Ihre Verbindungszeichenfolge bei web.config im Abschnitt connectionStings, y

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

Durch die Art und Weise Sie System.Configuration als Referenz zu Ihrem Projekt hinzufügen sollten yo Konfigurationsmanager-Klasse verwenden: ou sollte die Verbindungszeichenfolge so festgelegt.