2012-09-19 28 views
2

我正在處理一個項目,我必須在gridview中返回以下列,並且可以通過0-7過濾器來縮小搜索範圍。GridView:在服務器上運行時發生數據庫錯誤,在本地主機上正常工作

  • 的appid
  • CLIENTNAME
  • ProjectNo。
  • ProjectSubNo。
  • ProjectTitle
  • 的AppType
  • AppSubType
  • 節點名
  • 用戶名

我能夠做我的本地機器上這很好,但它會返回一個錯誤,指出它無法找到ProjectTitle當我在服務器上運行它時,數據庫源中的字段。其餘的代碼都很好,因爲當我從GridView中刪除ProjectTitle列時沒有顯示錯誤。以下是我的代碼。

ASP

<asp:GridView ID="GridView2" runat="server" 
      CellPadding="4" 
      ForeColor="#333333" 
      GridLines="None" 
      onselectedindexchanged="GridView1_SelectedIndexChanged" 
     AutoGenerateColumns="False"> 
     <Columns> 
      <asp:BoundField DataField="AppID" HeaderText="AppID" InsertVisible="False" 
       ReadOnly="True" SortExpression="AppID" /> 
      <asp:BoundField DataField="ClientName" HeaderText="ClientName" 
       SortExpression="ClientName" /> 
      <asp:BoundField DataField="ProjectNumber" HeaderText="ProjectNo." 
       SortExpression="ProjectNumber" /> 
      <asp:BoundField DataField="ProjectSubNumber" HeaderText="SubNo." 
       SortExpression="ProjectSubNumber" /> 
      <asp:BoundField DataField="ProjectTitle" HeaderText="ProjectTitle" 
       SortExpression="ProjectTitle" /> 
      <asp:BoundField DataField="AppType" HeaderText="AppType" 
       SortExpression="AppType" /> 
      <asp:BoundField DataField="AppSubType" HeaderText="AppSubType" 
       SortExpression="AppSubType" /> 
      <asp:BoundField DataField="NodeName" HeaderText="NodeName" 
       SortExpression="NodeName" /> 
      <asp:BoundField DataField="Username" HeaderText="Username" 
       SortExpression="Username" /> 
      <asp:CommandField ShowSelectButton="True" ButtonType="Image" 
       SelectImageUrl="~/buttons/png/Select.png" /> 
     </Columns> 
     <AlternatingRowStyle BackColor="White" /> 
     <FooterStyle BackColor="#D11011" 
       Font-Bold="True" 
       ForeColor="White" /> 
     <HeaderStyle BackColor="#D11011" 
       Font-Bold="True" 
       ForeColor="White" /> 
     <PagerStyle BackColor="#FDEBEB" 
       ForeColor="#333333" 
       HorizontalAlign="Center" /> 
     <RowStyle BackColor="#FDEBEB" 
       ForeColor="#333333" /> 
     <SelectedRowStyle BackColor="#FDCCCC" 
       Font-Bold="True" 
       ForeColor="Navy" /> 
     <SortedAscendingCellStyle BackColor="#FDEBEB" /> 
     <SortedAscendingHeaderStyle BackColor="#4D0000" /> 
     <SortedDescendingCellStyle BackColor="#FDEBEB" /> 
     <SortedDescendingHeaderStyle BackColor="#820000" /> 
    </asp:GridView> 
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
     ConnectionString="<%$ ConnectionStrings:NeoDyneNewTMS %>" SelectCommand="SELECT [AppID],[ClientName], [ProjectNumber], [ProjectSubNumber], [ProjectTitle], [AppType], [AppSubType], [NodeName], [Username] FROM [PMS_AppRegister],[TMS_Clients],[TMS_ProjectRegister],[PMS_AppTypes],[PMS_AppSubTypes] WHERE [TMS_Clients].[ClientID] = [TMS_ProjectRegister].[ClientID] AND [PMS_AppRegister].[ProjectID] = [TMS_ProjectRegister].[ProjectID] AND [PMS_AppRegister].[AppTypeID] = [PMS_AppTypes].[AppTypeID] AND [PMS_AppRegister].[AppSubTypeID] = [PMS_AppSubTypes].[AppSubTypeID] ORDER BY [AppID] DESC"> 
    </asp:SqlDataSource> 
    <asp:SqlDataSource ID="PMS_sch_ds_SELECTAll" 
      runat="server" 
      ConnectionString="<%$ ConnectionStrings:NeoDyneNewTMS %>" 
      SelectCommand=""> 
     <SelectParameters> 
      <asp:ControlParameter ControlID="PMS_sch_ddl_ClientName" 
        Name="ClientID" 
        PropertyName="SelectedValue" /> 
      <asp:ControlParameter ControlID="PMS_sch_ddl_ProjectNumber" 
        PropertyName="SelectedValue" 
        Name="ProjectNumber" 
        DefaultValue=null/> 
      <asp:ControlParameter ControlID="PMS_sch_ddl_ProjectSubNumber" 
        Name="ProjectID" 
        PropertyName="SelectedValue" 
        DefaultValue=null /> 
      <asp:ControlParameter ControlID="PMS_sch_ddl_ApplicationType" 
        Name="AppTypeID" 
        PropertyName="SelectedValue" 
        DefaultValue=null /> 
      <asp:ControlParameter ControlID="PMS_sch_ddl_ApplicationSubType" 
        Name="AppSubTypeID" 
        PropertyName="SelectedValue" 
        DefaultValue=null /> 
      <asp:ControlParameter ControlID="PMS_sch_tb_NodeName" 
        Name="NodeName" 
        PropertyName="Text" 
        DefaultValue=null /> 
     </SelectParameters> 
    </asp:SqlDataSource> 

C#

protected void btnsearch_Click(object sender, ImageClickEventArgs e) 
     { 
      GridView2.DataSourceID = "PMS_sch_ds_SELECTAll"; 
      #region Select Command for the Grid View 
      //initializes the string for SelectCommand 
      string SelectCommand = ""; 
      if (PMS_sch_ddl_ClientName.SelectedValue != "") 
      { 
       if (PMS_sch_ddl_ProjectNumber.SelectedValue != "") 
       { 
        if (PMS_sch_ddl_ProjectSubNumber.SelectedValue != "") 
        { 
         if (PMS_sch_ddl_ApplicationType.SelectedValue != "") 
         { 
          if (PMS_sch_ddl_ApplicationSubType.SelectedValue != "") 
          { 
           #region Client Name, Project Number, Project Sub Number, Application Type, Application Sub Type, Node Name 
           if (PMS_sch_tb_NodeName.Text != "") 
           { 
            SelectCommand = "SQL"; 
           } 
           #endregion 
           #region Client Name, Project Number, Project Sub Number, Application Type, Application Sub Type 
           else 
           { 
            SelectCommand = "SQL"; 
           } 
           #endregion 
          } 
          else 
          { 
           #region Client Name, Project Number, Project Sub Number, Application Type, Node Name 
           if (PMS_sch_tb_NodeName.Text != "") 
           { 
            SelectCommand = "SQL"; 
           } 
           #endregion 
           #region Client Name, Project Number, Project Sub Number, Application Type 
           else 
           { 
            SelectCommand = "SQL"; 
           } 
           #endregion 
          } 
         } 
         else 
         { 
          #region Client Name, Project Number, Project Sub Number, Node Name 
          if (PMS_sch_tb_NodeName.Text != "") 
          { 
           SelectCommand = "SQL"; 
          } 
          #endregion 
          #region Client Name, Project Number, Project Sub Number 
          else 
          { 
           SelectCommand = "SQL"; 
          } 
          #endregion 
         } 
        } 
        else 
        { 
         if (PMS_sch_ddl_ApplicationType.SelectedValue != "") 
         { 
          if (PMS_sch_ddl_ApplicationSubType.SelectedValue != "") 
          { 
           #region Client Name, Project Number, Application Type, Application Sub Type, Node Name 
           if (PMS_sch_tb_NodeName.Text != "") 
           { 
            SelectCommand = "SQL"; 
           } 
           #endregion 
           #region Client Name, Project Number, Application Type, Application Sub Type 
           else 
           { 
            SelectCommand = "SQL"; 
           } 
           #endregion 
          } 
          else 
          { 
           #region Client Name, Project Number, Application Type, Node Name 
           if (PMS_sch_tb_NodeName.Text != "") 
           { 
            SelectCommand = "SQL"; 
           } 
           #endregion 
           #region Client Name, Project Number, Application Type 
           else 
           { 
            SelectCommand = "SQL"; 
           } 
           #endregion 
          } 
         } 
         else 
         { 
          #region Client Name, Project Number, Node Name 
          if (PMS_sch_tb_NodeName.Text != "") 
          { 
           SelectCommand = "SQL"; 
          } 
          #endregion 
          #region Client Name, Project Number 
          else 
          { 
           SelectCommand = "SQL"; 
          } 
          #endregion 
         } 
        } 
       } 
       else 
       { 
        if (PMS_sch_ddl_ApplicationType.SelectedValue != "") 
        { 
         if (PMS_sch_ddl_ApplicationSubType.SelectedValue != "") 
         { 
          #region Client Name, Application Type, Application Sub Type, Node Name 
          if (PMS_sch_tb_NodeName.Text != "") 
          { 
           SelectCommand = "SQL"; 
          } 
          #endregion 
          #region Client Name, Application Type, Application Sub Type 
          else 
          { 
           SelectCommand = "SQL"; 
          } 
          #endregion 
         } 
         else 
         { 
          #region Client Name, Application Type, Node Name 
          if (PMS_sch_tb_NodeName.Text != "") 
          { 
           SelectCommand = "SQL"; 
          } 
          #endregion 
          #region Client Name, Application Type 
          else 
          { 
           SelectCommand = "SQL"; 
          } 
          #endregion 
         } 
        } 
        else 
        { 
         #region Client Name, Node Name 
         if (PMS_sch_tb_NodeName.Text != "") 
         { 
          SelectCommand = "SQL"; 
         } 
         #endregion 
         #region Client Name 
         else 
         { 
          SelectCommand = @"SELECT DISTINCT [AppID], [ClientName], [ProjectNumber], [ProjectSubNumber], [ProjectTitle], [AppType], [AppSubType], [NodeName], [PMS_AppRegister].[Username] 
          FROM [TMS_Clients], [TMS_ProjectRegister], [PMS_AppTypes], [PMS_AppSubTypes], 
            [PMS_AppRegister], [TMS_EmployeeRegister] 
          WHERE [TMS_Clients].[ClientID]     = @ClientID       AND 
            [TMS_Clients].[ClientID]     = [TMS_ProjectRegister].[ClientID] AND 
            ([ProjectNumber] IN (SELECT [ProjectNumber] 
                 FROM [TMS_ProjectRegister] 
                 WHERE [ProjectID] IN (SELECT [ProjectID] 
                       FROM [PMS_AppRegister])  AND 
                   [ClientID] = @ClientID))       AND 
            ([ProjectSubNumber] IN (SELECT [ProjectSubNumber] 
                  FROM [TMS_ProjectRegister] 
                  WHERE [ProjectID] IN (SELECT [ProjectID] 
                        FROM [PMS_AppRegister]) AND 
                    [ClientID] = @ClientID))      AND 
            [PMS_AppRegister].[ProjectID]    = [TMS_ProjectRegister].[ProjectID] AND 
            [PMS_AppRegister].[AppTypeID]    = [PMS_AppTypes].[AppTypeID]  AND 
            [PMS_AppSubtypes].[AppTypeID]    = [PMS_AppRegister].[AppTypeID]  AND 
            [PMS_AppSubTypes].[AppSubTypeID]   = [PMS_AppRegister].[AppSubTypeID]"; 
         } 
         #endregion 
        } 
       } 
      } 
      else if (PMS_sch_ddl_ClientName.SelectedValue == "") 
      { 
       GridView2.DataSourceID = "SqlDataSource1"; 
      } 
      //Lets the datasource's Select Command equal to the correct string 
      PMS_sch_ds_SELECTAll.SelectCommand = SelectCommand; 
      #endregion 
      //GridView1.DataBind(); 
     } 

上會是什麼導致這有什麼建議?

回答

1

您確定遠程數據庫包含字段ProjectTitle

如果您更改localhost連接字符串localhost,以便它使用遠程數據庫(但仍使用localhost項目),您是否仍然收到錯誤? (這將確定問題出在代碼中還是數據庫中。)

+0

不,項目連接到存儲在要運行的服務器上的數據庫。是的,數據庫確實包含ProjectTitle字段 – user1683221

相關問題