0

您好,我在这里需要一些帮助,我收到错误,它说不包括命名空间或程序集..请让我知道我缺少什么 dll 文件或什么文件?

FRONTEND(在 aspx.cs 文件中的代码)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.Common;
using Microsoft.SqlServer.Server;
using System.Data.SqlClient;

public partial class _Default : Page
{
    Database db = DatabaseFactory.CreateDatabase("TSMTEMP");
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        try
        {
            Dbcommand cmd = db.GetStoredProcCommand("search");  // 1 Error Fixed.
            db.AddInParameter(cmd, "@website", DbType.String, TextBox1.Text);
            DataSet ds = db.ExecuteDataSet(cmd);
            Gridview2_srch.DataSource = ds;
            Gridview2_srch.DataBind();
        }
        catch (Exception)
        {
        }

    }
}

后端(SQLSTOREDPROCEDURE)

create procedure search
@website nvarchar(50)
As
select A.website from website A
inner join category B ON A.website=B.website
inner join contact C ON A.website=C.website
inner join traffic D ON A.website=D.website
where A.website=@website

以下是具体的错误详情:

Error      1              The type or namespace name 'Database' could not be found (are you missing a using directive or an assembly reference?)    C:\xxxxxxxxxx\Default.aspx.cs 14           5                WebSite1(1)
Error      2              The name 'DatabaseFactory' does not exist in the current context                C:\xxxxxxxxxxxxxx\Default.aspx.cs 14           19           WebSite1(1)
Error      3              The type or namespace name 'Dbcommand' could not be found (are you missing a using directive or an assembly reference?)    C:\xxxxxxxxxxxxx\Default.aspx.cs 23           13                WebSite1(1)
Error      4              The name 'Gridview2_srch' does not exist in the current context                C:\xxxxxxxxxx\Default.aspx.cs 26           13           WebSite1(1)
Error      5              The name 'Gridview2_srch' does not exist in the current context                C:\xxxxxxxxx\Default.aspx.cs 27           13           WebSite1(1)

Web.config 文件代码:

<?xml version="1.0" encoding="utf-8"?>
<!--
  For more information on how to configure your ASP.NET application, please visit
  http://go.microsoft.com/fwlink/?LinkId=169433
  -->
<configuration>
  <configSections>
    <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
    <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
  <!-- Added by ankit -->
    <section name="dataConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Data.Configuration.DatabaseSettings,Microsoft.Practices.EnterpriseLibrary.Data, Version=4.1.0.0, Culture=neutral"/>

  </configSections>
  <dataConfiguration defaultDatabase="TSMTEMPConnectionString" />  <!-- added my ankit-->
  <connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-WebSite1(1)-20130723110448;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-WebSite1(1)-20130723110448.mdf"
      providerName="System.Data.SqlClient" />
    <add name="TSMTEMPConnectionString" connectionString="Data Source=vlmzazwds4.database.windows.net;Initial Catalog=TSMTEMP;User ID=TSM1;Password=TSModule001!"
      providerName="System.Data.SqlClient" />

  </connectionStrings>
  <system.web>
    <compilation debug="false" targetFramework="4.5" />
    <httpRuntime targetFramework="4.5" />
    <pages>
      <namespaces>
        <add namespace="System.Web.Optimization" />
      </namespaces>
      <controls>
        <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" />
      </controls>
    </pages>
    <authentication mode="Forms">
      <forms loginUrl="~/Account/Login" timeout="2880" defaultUrl="~/" />
    </authentication>
    <profile defaultProvider="DefaultProfileProvider">
      <providers>
        <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </profile>
    <membership defaultProvider="DefaultMembershipProvider">
      <providers>
        <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" />
      </providers>
    </membership>
    <roleManager defaultProvider="DefaultRoleProvider">
      <providers>
        <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" />
      </providers>
    </roleManager>
    <!--
            If you are deploying to a cloud environment that has multiple web server instances,
            you should change session state mode from "InProc" to "Custom". In addition,
            change the connection string named "DefaultConnection" to connect to an instance
            of SQL Server (including SQL Azure and SQL  Compact) instead of to SQL Server Express.
      -->
    <sessionState mode="InProc" customProvider="DefaultSessionProvider">
     <providers>
        <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
      </providers>
    </sessionState>
  </system.web>
  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="DotNetOpenAuth.Core" publicKeyToken="2780ccd10d57b246" />
        <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
      </dependentAssembly>
      <dependentAssembly>
        <assemblyIdentity name="DotNetOpenAuth.AspNet" publicKeyToken="2780ccd10d57b246" />
        <bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.1.0.0" />
      </dependentAssembly>
    </assemblyBinding>
  </runtime>
  <entityFramework>
    <defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
  </entityFramework>

</configuration>
4

2 回答 2

3

您的程序名称search不是Proc_search

Dbcommand cmd = db.GetStoredProcCommand("search");
于 2013-07-23T09:04:19.263 回答
0

我认为您正在使用数据应用程序块或企业库来添加/检索数据,请确保您已添加引用并放置所需的命名空间。例如,对于 db.GetStoredProcCommand,您需要 Microsoft.Practices.EnterpriseLibrary.Data 名称空间

请参阅以下链接。 http://msdn.microsoft.com/en-us/library/bb748721(v=pandp.31).aspx

因此,请确保您的 using 部分中有正确的命名空间。

问候,

于 2013-07-23T09:46:57.313 回答