Доброго времени суток.
Может кто сталкивался с такой проблемой. Есть gridview s dropdown листом:
Код | <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <b>Izvelet sistemu</b>  <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource2" DataTextField="Statuss" AutoPostBack="true"> </asp:DropDownList> <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:DUS_ProblemuRegistrs_DB %>" ProviderName="<%$ ConnectionStrings:DUS_ProblemuRegistrs_DB.ProviderName %>" SelectCommand="SELECT DISTINCT [Statuss] FROM [Slodze]"></asp:SqlDataSource> <br/> <br/> <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID" DataSourceID="SqlDataSource1" Height="50px" Width="900px" AlternatingRowStyle-HorizontalAlign="Center" AlternatingRowStyle-VerticalAlign="Top" AlternatingRowStyle-Width="60" EditRowStyle-Height="50" EditRowStyle-HorizontalAlign="Center" EditRowStyle-VerticalAlign="Middle" EditRowStyle-Width="70" EditRowStyle-Wrap="false" EmptyDataRowStyle-Height="70" EmptyDataRowStyle-HorizontalAlign="Center" EmptyDataRowStyle-VerticalAlign="Middle" HorizontalAlign="Center" AlternatingRowStyle-Wrap="false" PagerStyle-HorizontalAlign="Center" RowStyle-HorizontalAlign="Center"> <Columns> <asp:CommandField ShowSelectButton="True" SelectText="Apskatit" /> <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID" /> <asp:BoundField DataField="Veicejs" HeaderText="Veicejs" SortExpression="Veicejs" /> <asp:BoundField DataField="Nosaukums" HeaderText="Nosaukums" SortExpression="Nosaukums" ControlStyle-BorderWidth="50" /> <asp:BoundField DataField="Sakuma_laiks" HeaderText="Sakuma_laiks" SortExpression="Sakuma_laiks" /> <asp:BoundField DataField="Sistema" HeaderText="Sistema" SortExpression="Sistema" /> <asp:BoundField DataField="Statuss" HeaderText="Statuss" SortExpression="Statuss" /> </Columns> </asp:GridView> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DUS_ProblemuRegistrs_DB %>" ProviderName="<%$ ConnectionStrings:DUS_ProblemuRegistrs_DB.ProviderName %>" SelectCommand="SELECT [ID], [Veicejs], [Nosaukums], [Sakuma_laiks], [Sistema], [Statuss] FROM [Slodze] WHERE ([Darbs] = 12) AND ([Apaksdarbs] = 67) AND ([Statuss] = @Statuss)"> <SelectParameters> <asp:ControlParameter Name="Statuss" ControlID="DropDownList1" /> </SelectParameters> </asp:SqlDataSource> </form> </body> </html> |
Ошибок нет, но при исполнении выкидивает:
Код | ERROR [07002] [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.Data.Odbc.OdbcException: ERROR [07002] [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[OdbcException (0x80131937): ERROR [07002] [Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.] System.Data.Odbc.OdbcConnection.HandleError(OdbcHandle hrHandle, RetCode retcode) +80 System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader, Object[] methodArguments, SQL_API odbcApiMethod) +3341 System.Data.Odbc.OdbcCommand.ExecuteReaderObject(CommandBehavior behavior, String method, Boolean needReader) +91 System.Data.Odbc.OdbcCommand.ExecuteReader(CommandBehavior behavior) +72 System.Data.Odbc.OdbcCommand.ExecuteDbDataReader(CommandBehavior behavior) +29 System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior) +32 System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +183 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +307 System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +152 System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +2868 System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +84 System.Web.UI.WebControls.DataBoundControl.PerformSelect() +153 System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +99 System.Web.UI.WebControls.GridView.DataBind() +23 System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +92 System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +100 System.Web.UI.Control.EnsureChildControls() +134 System.Web.UI.Control.PreRenderRecursiveInternal() +109 System.Web.UI.Control.PreRenderRecursiveInternal() +233 System.Web.UI.Control.PreRenderRecursiveInternal() +233 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +4435 -------------------------------------------------------------------------------- Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42 |
Если в SqlDataSource1 меняю последнее условие запроса с ([Statuss] = @Statuss) на ([Statuss] = 2) т.е. ставлю не параметр фильтра из DropDownList а фиксированное значение - все работает в смысле значения выводятся, но естественно никакой связи с DropDownList нет. Выходит проблема в этом @Statuss, но почему? Во всех примерах которые нашел все именно так и описывается.... |