При попытке использовать SelectCommand для SqlDataSource и Gridview возникает следующая ошибка. Мне кажется, что я должен работать, но я получаю эту ошибку; Я подозреваю, что я близко, но я с видом что-то:Ошибка при использовании SqlDataSource и параметров
System.Data.SqlClient.SqlException (0x80131904): Invalid object name '@tbl'.
at System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)
at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning()
at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)
at System.Data.SqlClient.SqlDataReader.ConsumeMetaData()
at System.Data.SqlClient.SqlDataReader.get_MetaData()
at System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString)
at System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result)
at System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method)
at System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior behavior, String method)
at System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.System.Data.IDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior)
at System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable)
at System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments)
at System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback)
at System.Web.UI.WebControls.DataBoundControl.PerformSelect()
at System.Web.UI.WebControls.BaseDataBoundControl.DataBind()
at System.Web.UI.WebControls.GridView.DataBind()
at Test.BindData() in C:\Dev\Test.aspx.cs:line 45
ASPX:
<asp:DropDownList ID="ddlTable" AutoPostBack="true" runat="server"/>
<asp:SqlDataSource ID="sqlDS" runat="server" SelectCommand="Select * From [@tbl]">
<SelectParameters>
<asp:ControlParameter ControlID="ddlTable" Name="tbl" PropertyName="SelectedItem.Text" />
</SelectParameters>
</asp:SqlDataSource>
<asp:GridView
ID="grd"
CssClass="auto"
runat="server"
DataSourceID="sqlDS"
AutoGenerateDeleteButton="true"
AutoGenerateEditButton="true" />
Код:
sqlDS.ConnectionString = "valid connection string";
grd.DataBind();
GAAAAHAH; часов впустую. Спасибо! – Mark