1

データベースとやり取りしたいときにこのコードを取得しています。

私のweb.configには、次の接続文字列が含まれています。

<?xml version="1.0"?>
<configuration>
 <connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient"/>
<add name="WebNewYearConnectionString" connectionString="Data Source=XXXX; Initial Catalog=XXXXX; User ID=XXXXX; Password=XXXXXX;"     providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<customErrors mode="Off"/>
<authentication mode="Forms">
  <forms loginUrl="~/Account/Login.aspx" timeout="2880"/>
</authentication>
<membership>
  <providers>
    <clear/>
    <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/"/>
  </providers>
</membership>
<profile>
  <providers>
    <clear/>
    <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
  </providers>
</profile>
<roleManager enabled="false">
  <providers>
    <clear/>
    <add name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" connectionStringName="ApplicationServices" applicationName="/"/>
    <add name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" applicationName="/"/>
  </providers>
</roleManager>
</system.web>
 <system.webServer>
   <modules runAllManagedModulesForAllRequests="true"/>
</system.webServer>
<system.data>
<DbProviderFactories>
    <remove invariant="System.Data.SqlServerCe.4.0"/>
    <add name="Microsoft SQL Server Compact Edition Client Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact Edition Client 4.0" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=4.0.0.0, Culture=neutral, PublicKeyToken=89845dcd8080cc91"/>
</DbProviderFactories>
</system.data>

私のコードには

xSqlConnections con = new SqlConnections("System.Configuration.ConfigurationManager.ConnectionStrings["WebNewYearConnectionString"].ConnectionString");
    protected void Page_Load(object sender, EventArgs e)
    {
        string Clientname = Request.QueryString["name"];
        string str = "select * from Client_Detail where Client_Name='" + Clientname + "'";
        DataTable dat;
        SqlDataAdapter da = new SqlDataAdapter(sql, con);
        DataSet ds = new DataSet();
        da.Fill(ds, "tab");
        DataTable dat = new DataTable();
        dat = ds.Tables["tab"];
        EventName.Text = dat.Rows[0]["Event_Name"].ToString();
        Event_Description.Text = dat.Rows[0]["Description"].ToString();
        Event_Date.Text = dat.Rows[0]["Date"].ToString();
        Entry_Fee.Text = dat.Rows[0]["Price"].ToString();
        Event_Client.Text = dat.Rows[0]["Client_Name"].ToString();
        Event_Location.Text = dat.Rows[0]["Event_Location"].ToString();
        Session["Event_Name"] = EventName.Text;


    }

私のコードはこのエラーを出しています

SQL Server への接続を確立中に、ネットワーク関連またはインスタンス固有のエラーが発生しました。サーバーが見つからないか、アクセスできませんでした。インスタンス名が正しいこと、および SQL Server がリモート接続を許可するように構成されていることを確認してください。(プロバイダー: 名前付きパイプ プロバイダー、エラー: 40 - SQL Server への接続を開けませんでした)

da.Fill(ds, "タブ");

この行

4

3 に答える 3

0

あなたのコードの全体の周りに実際に引用符がありますか?もしそうなら、それはあなたの問題です。

xSqlConnections con = new SqlConnections("System.Configuration.ConfigurationManager.ConnectionStrings["WebNewYearConnectionString"].ConnectionString");
                                         ^
于 2012-12-07T16:36:14.833 に答える
0

次のように接続インスタンスを変更します。

xSqlConnections con = new SqlConnections(System.Configuration.ConfigurationManager.ConnectionStrings["WebNewYearConnectionString"].ConnectionString);
于 2013-01-29T08:54:31.207 に答える
0
xSqlConnections con = new SqlConnections("System.Configuration.ConfigurationManager.ConnectionStrings["WebNewYearConnectionString"].ConnectionString");
        protected void Page_Load(object sender, EventArgs e)
        {
            con.open();

            string Clientname = Request.QueryString["name"];
            string str = "select * from Client_Detail where Client_Name='" + Clientname + "'";
            DataTable dat;
            SqlDataAdapter da = new SqlDataAdapter(sql, con);
            DataSet ds = new DataSet();
            da.Fill(ds, "tab");
            DataTable dat = new DataTable();
            dat = ds.Tables["tab"];
            EventName.Text = dat.Rows[0]["Event_Name"].ToString();
            Event_Description.Text = dat.Rows[0]["Description"].ToString();
            Event_Date.Text = dat.Rows[0]["Date"].ToString();
            Entry_Fee.Text = dat.Rows[0]["Price"].ToString();
            Event_Client.Text = dat.Rows[0]["Client_Name"].ToString();
            Event_Location.Text = dat.Rows[0]["Event_Location"].ToString();
            Session["Event_Name"] = EventName.Text;

            con.Close();
        }

* 編集 *

これで問題が解決した場合は、正しく解決されていないため、接続文字列を再確認する必要があります。

これを行う簡単な方法は、VS Studio のサーバー エクスプローラーに移動し、データベースへの接続を手動で追加することです。接続をテストして、解決するかどうかを確認します。存在する場合は、データ接続の [プロパティ] タブから接続文字列をコピーできます。

お役に立てれば。

于 2012-12-07T14:31:39.693 に答える