jjzjj

IDataReader

全部标签

c# - 使用继承的自定义 IDataReader 从 IDbCommand 读取

我已经让一个自定义类继承IDataReader并且已经成功使用自定义类实现自定义ServerWritersqlBulkCopy,该自定义类使用C#对象而不是DataTable。正如我所怀疑的那样,事实证明这是一种更有效的方法。现在我正在尝试阅读,但我遇到了一些问题这是IDataReader://getServerDataTableObjectIDataReaderpublicclassGetSDTOIDataReaderM:IDataReader{//privateIEnumeratorenumerator=null;publicMySqlDbTableObject.Raw.SqlDb

C# - IDataReader 到使用泛型的对象映射

如何使用泛型将DataReader对象映射到类对象?例如我需要做以下事情:publicclassMapper{publicstaticListMapObject(IDataReaderdr){Listobjects=newList();while(dr.Read()){//Mappinggoeshere...}returnobjects;}}然后我需要像下面这样调用这个类方法:IDataRederdataReader=DBUtil.Fetchdata("SELECT*FROMBook");ListbookList=Mapper.MapObject(dataReder);foreach(

c# - 使用DataReader调用带参数的存储过程

我使用IDataReader调用不带参数的存储过程。当存在参数时,我没有找到如何执行此操作的示例。IDataReader是否处理存储过程的参数?请举个例子。 最佳答案 处理参数的不是IDataReader,而是IDbCommand(使用CreateParameter方法)。然后您可以使用ExecuteReader获取该命令的阅读器方法。我举了一个简单的例子:privatestaticvoidExecuteCommand(IDbConnectionconn){using(IDbCommandcmd=conn.CreateCommand

c# IDataReader SqlDataReader区别

谁能告诉我这两段代码的区别?为什么要使用IDataReader?using(IDataReaderreader=cmd.ExecuteReader()){while(reader.Read()){//getdatafromthereader}}using(SqlDataReaderreader=cmd.ExecuteReader()){while(reader.Read()){//getdatafromthereader}} 最佳答案 SqlDataReader实现接口(interface)IDataReader。所有其他ADO.N

c# - 如何处理多个 ResultSet,每个 ResultSet 有多行? IDataReader.NextResult() 结束 Read()

如何处理多个结果集,每个结果集有多个行?调用NextResult()会中断while循环。我的一些SP返回多个结果集。我正在使用NextResult()处理这些,但是当我这样做并且我的SP只有一个ResultSet时,我看到带有Read()的while循环完成后只剩下第一行。如果不调用NextResult(),我会得到第一个ResultSet的所有行,但当然不会处理第二个和后续的ResultSets?using(IDataReaderreader=storedProcedure.ExecuteReader(CommandBehavior.CloseConnection,paramete

c# - Dapper.net 2.0 无法抛出异常

我收到的异常很明显。我以前确实用过dapper,效果很好,但现在遇到了困难。无法将类型为“System.Func2[System.Data.IDataReader,WebApplication1.Modal.Users]”的对象转换为类型“System.Func2[System.Data.IDataReader,System.对象]'.用户类是publicclassUsers:MainSharedTable{publicintFkReceiverID{get;set;}publicstringPassword{get;set;}}MainSharedTable是publicclassM

c# - 从 DataReader 访问 DateTime 字段时出现 MySqlConversionException

我有一个基于MySql的C#应用程序,使用MySQLConnector;我想做一个DataReader请求,查询执行正常,但是,当尝试访问DateTime字段时,我收到MySqlConversionException{"UnabletoconvertMySQLdate/timevaluetoSystem.DateTime"}这是原型(prototype)if(dr!=null&&!dr.Read())return;sesion.Id=Convert.ToInt32(dr["id"]);sesion.Usuario=Convert.ToInt32(dr["usuario"]);sesio

c# - 如何使用 Moq 模拟 SqlDataReader - 更新

我是最小起订量和设置模拟的新手,所以我需要一些帮助。如何使用Moq模拟SqlDataReader?更新经过进一步测试,这是我目前所拥有的:privateIDataReaderMockIDataReader(){varmoq=newMock();moq.Setup(x=>x.Read()).Returns(true);moq.Setup(x=>x.Read()).Returns(false);moq.SetupGet(x=>x["Char"]).Returns('C');returnmoq.Object;}privateclassTestData{publiccharValidChar{

c# - 如何使用 Moq 模拟 SqlDataReader - 更新

我是最小起订量和设置模拟的新手,所以我需要一些帮助。如何使用Moq模拟SqlDataReader?更新经过进一步测试,这是我目前所拥有的:privateIDataReaderMockIDataReader(){varmoq=newMock();moq.Setup(x=>x.Read()).Returns(true);moq.Setup(x=>x.Read()).Returns(false);moq.SetupGet(x=>x["Char"]).Returns('C');returnmoq.Object;}privateclassTestData{publiccharValidChar{

c# - 检查数据读取器中是否存在列

这个问题在这里已经有了答案:CheckforcolumnnameinaSqlDataReaderobject(27个答案)关闭7年前。有没有办法在不检查IndexOutOfRangeException的情况下查看字段是否存在于基于IDataReader的对象中?本质上,我有一个方法采用基于IDataReader的对象并创建一个强类型记录列表。在1个实例中,一个数据阅读器具有其他人没有的字段。如果不需要的话,我真的不想重写提供给该方法的所有查询以包括该字段的某种形式。到目前为止,我能够弄清楚如何做到这一点的唯一方法是将1个唯一字段放入try/catchblock中,如下所示。try{tm
12