簡體   English   中英

GridView:在服務器上運行時數據庫錯誤,在本地主機上運行正常

[英]GridView: Database error when running on server, works fine on localhost

我正在一個項目中,我必須在gridview中返回以下列,並且可以通過0-7過濾器縮小搜索范圍。

  • 的AppID
  • 客戶名稱
  • ProjectNo。
  • ProjectSubNo。
  • 項目名稱
  • 的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();
        }

有什么建議會導致這種情況嗎?

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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM