当我想与数据库交互时,我得到了这段代码。
我的 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 的连接)
在
大。填充(ds, "tab");
这条线
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中的服务器资源管理器,然后手动添加与数据库的连接。测试连接以查看它是否解析。如果是这样,则可以从数据连接的属性选项卡中复制连接字符串。
希望这有帮助。
在你的代码中,整个事情周围真的有引号吗? 如果是这样,那就是你的问题。
xSqlConnections con = new SqlConnections("System.Configuration.ConfigurationManager.ConnectionStrings["WebNewYearConnectionString"].ConnectionString");
^
像这样更改连接实例:
xSqlConnections con = new SqlConnections(System.Configuration.ConfigurationManager.ConnectionStrings["WebNewYearConnectionString"].ConnectionString);