当前位置: 首页 > 编程语言 > C#

使用SqlReader从存储过程中获取多张表Share

时间:2023-04-10 17:55:45 C#

使用SqlReader从存储过程中获取多张表我有一个自定义类型,它是SqlServer数据库中的数据表。我一直在使用数据库、DbCommand等来调用存储过程并获取数据集。数据集很方便,因为它们可以包含多个表。现在我想传入一个数据表,所以我尝试了:string_strComText="stored_procedure_name_changed_to_protect_the_innocent";_objCom=_objDB.GetSqlStringCommand(_strComText);_objDB.AddInParameter(_objCom,"@BASE_ITEMIDS",DbType.Object,dtItemIds.objC);_CommTypejC);=命令类型.StoredProcedure;数据集=_objDB.ExecuteDataSet(_objCom);但我得到一个例外,“@BASE_ITEMIDS”不是正确的类型:“传入的表格数据流(TDS)远程过程调用(RPC)协议流不正确。参数1(“@BASE_ITEMIDS”):数据类型0x62(sql_variant)类型特定元数据的类型无效。”我已经看到使用SqlReader完成此操作,但是是否可以使用sqlReader来获取多个表?如果我的第一个表是空的,我在SqlReader中看不到任何行。sqlReader可以用来获取多个表吗?是的。您必须按顺序读取每个表并在表之间调用.NextResult()方法。以上就是C#学习教程:使用SqlReader从存储过程中获取多个表共享的所有内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注——using(varrdr=MySqlCommand.ExecuteReader()){do{while(rdr.Read()){//对每条记录做一些事情}}while(rdr.NextResult());}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: