2012-04-14 12 views
0

SqlDataSourceとGridviewのSelectCommandを使用しようとすると、次のエラーが発生します。私は何をすべきかのように感じますが、私はこのエラーを受け取ります。 ASPX 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 

::これはあなたの問題であり、有効なSQL、ではありません

sqlDS.ConnectionString = "valid connection string"; 
grd.DataBind(); 

答えて

0

<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" /> 

はコード私は近いんだけど、何かを見下ろす午前と思われます。私はあなたが何を得ようとしているのかは分かっていませんが、テーブルとして動作するパラメータを渡すことはできません。クエリはデータベースから選択する必要があり、パラメータを使用してフィルタリングまたは選択することができます。テーブル自体として使うことはできません。多分このようなものを探しているのでしょうか?

Select ID From tablename where columnname = '@tbl' 
+0

GAAAAHAH;時間が無駄になりました。ありがとうございました! – Mark

関連する問題