2009-04-15 3 views
0

asp.net, sql 및 xml을 사용하여 RSS Feed를 만들려고합니다. 나는 오류ConnectionString 구성 오류

을 얻고있다

컴파일러 오류 메시지 : 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> 

답변

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

확인합니다. 실제로 연결 문자열을 "MyConnString"으로 바꾸거나 페이지의 문자열 값으로 간주되는 MyConnString입니까? 예외가 말했듯이, 당신은 실수에서이

SqlConnection oConn= new SqlConnection(_connString); 

또한의 Web.config

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

SqlConnectionweb.config에서 connectionString하지 참조 걸리는 코드를입니다. 또는 더블이 컴파일러에 어려움을 겪고있는 라인 당신의 web.config

+0

예, <추가 이름 = "MyConnString"를 ConnectionString = "" 의 providerName = "의 System.Data.SQLClient"/>

0

에서이 값을 얻을 수 있습니다 :

나는 내 응용 프로그램의 코드와 유사한 라인을 가지고 이 줄 :

SqlConnection objConnection = new SqlConnection("MyConnString"); 

connectionStings 섹션의 web.config에 연결 문자열이 있다고 가정하면 y OU는 같은 연결 문자열을 설정해야합니다

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

을 그런데 당신은 요의 ConfigurationManager 클래스를 사용하여 프로젝트에 참조로 System.Configuration을 추가해야합니다.