2009-04-15 12 views
0

私はasp.net、sql、xmlでRSSフィードを作成しようとしています。 は、私はエラーConnectionString設定エラー

を取得しています

コンパイラエラーメッセージ:CS0103: 名 'MyConnString' が "行に22 " 現在のコンテキストでSqlConnectionのobjConnection =新しい SqlConnectionオブジェクト(" MyConnStringを")が存在しません。

私のWeb構成は、ここで

<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

SqlConnectionあるweb.config内の参照ではないconnectionStringをとります。またはDOUBLEこれは、コンパイラが持つ困難な時期を持っているラインで、あなたのweb.config

+0

はい、 <のconnectionStrings> <名を追加= "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を追加する必要があります。

関連する問題