C# 从DB加载表的c代码段-不使用视图

C# 从DB加载表的c代码段-不使用视图,c#,sql-server,datatable,C#,Sql Server,Datatable,下面的代码片段可以使用SQL存储过程填充表。我们将SQL从存储过程更改为视图,代码段中断。有没有关于如何将其用于视图而不是SP的提示 using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["XXXX"].ConnectionString)) using (var cmd = new SqlCommand("MYVIEW", conn)) using (v

下面的代码片段可以使用SQL存储过程填充表。我们将SQL从存储过程更改为视图,代码段中断。有没有关于如何将其用于视图而不是SP的提示

using (var conn = new SqlConnection(ConfigurationManager.ConnectionStrings["XXXX"].ConnectionString))
            using (var cmd = new SqlCommand("MYVIEW", conn))
            using (var adapter = new SqlDataAdapter(cmd))
            {
                //tried CommandType.Text too without success.
                cmd.CommandType = CommandType.StoredProcedure;
                adapter.Fill(table);
            }
错误是:

System.Data.SqlClient.SqlException 0x80131904:对过程“MYVIEW”的请求失败,因为“MYVIEW”是视图对象。在System.Data.SqlClient.SqlConnection.OnErrorSqlException异常、Boolean breakConnection、Action1 wrapCloseInAction在System.Data.SqlClient.TdsParser.ThroweException和WarningDSParserStateObject StateObject、Boolean callerHasConnectionLock、Boolean asyncClose在System.Data.SqlClient.TdsParser.TryRunbehavior运行行为、,SqlCommand cmdHandler、SqlDataReader dataStream、BulkCopySimpleResultSet bulkCopyHandler、TdsParserStateObject StateObject、System.Data.SqlClient.SqlDataReader.TryConsumeMetaData处的布尔值和DataReader、System.Data.SqlClient.SqlCommand.FinishExecuteReaderSqlDataReader、RunBehavior、,String ResetOptionString位于System.Data.SqlClient.SqlCommand.RunExecuteReaderDSCommandBehavior cmdBehavior,RunBehavior RunBehavior,布尔返回流,布尔异步,Int32超时,任务和任务,布尔异步写入,SqlDataReader ds位于System.Data.SqlClient.SqlCommand.RunExecuteReaderCommandBehavior Cmdhavior,RunBehavior RunBehavior,布尔返回流,字符串方法,TaskCompletionSource1 completion,Int32超时,任务和任务,System.Data.SqlClient.SqlCommand.RunExecuteReaderCommandBehavior cmdBehavior处的布尔异步写入,RunBehavior RunBehavior,布尔返回流,System.Data.SqlClient.SqlCommand.ExecuteReaderCommandBehavior处的字符串方法,System.Data.SqlClient.SqlCommand.ExecuteDbDataReaderCommandBehavior行为System.Data.Common.DbCommand.System.Data.IDbCommand.ExecutedReaderCommandBehavior行为System.Data.Common.DbDataAdapter.FillInternalDataSet,DataTable[]datatables,Int32 StartRecords,Int32 maxRecords,String srcTable,IDbCommand,System.Data.Common.DbDataAdapter.FillDataTable[]数据表处的CommandBehavior行为,Int32 startRecord,Int32 maxRecords,IDbCommand命令,System.Data.Common.DbDataAdapter.FillDataTable数据表处的CommandBehavior行为moodleWCF_test.index.btTurmaIncluir_ClickObject sender,EventArgs e


谢谢

视图不能作为存储过程调用。若要使用“视图”,请替换以下行:

使用var cmd=new SqlCommandSELECT*从康涅狄格州的MYVIEW


cmd.CommandType=CommandType.Text

视图不能作为存储过程调用。若要使用“视图”,请替换以下行:

使用var cmd=new SqlCommandSELECT*从康涅狄格州的MYVIEW


cmd.CommandType=CommandType.Text

FWIW,如果希望从视图中获取所有行,还可以设置CommandType=CommandType.TableDirect。IIRC ADO.NET客户端将为您添加select*from…FWIW,如果您希望查看所有行,还可以设置CommandType=CommandType.TableDirect。IIRC ADO.NET客户端将为您添加select*from。。。