21得票3回答
从DataReader中仅返回单行数据

我好像在我的代码中经常写这个:using (var reader = cmd.ExecuteReader()) { if (reader.Read()) { result = new User((int)reader["UserId"], reader["Use...

18得票1回答
如何处理多个包含多行的结果集?使用IDataReader.NextResult()结束Read()函数。

如何处理多个包含多行的结果集? 调用NextResult()可以在多个结果集之间进行切换。然而,当存储过程只返回单个结果集时,使用NextResult()会导致while循环停止,并且只能读取第一行。 如果不调用NextResult(),则可以获取第一个结果集中的所有行,但是无法处理后续的...

16得票1回答
DataReader:指定的类型转换无效(Int32)

为什么SqlDataReader在将0转换为整数时会抛出异常??dataReader(3) 0 {Short} Short: 0 ?dataReader.GetInt16(3) 0 ?dataReader.GetInt32(3) {"Specified cast is not vali...

16得票3回答
“yield”在遍历数据读取器对象时对连接状态和代码性能的影响是什么?

这是我用来从数据库获取数据的示例代码: 在DAO层:public IEnumerable<IDataRecord> GetDATA(ICommonSearchCriteriaDto commonSearchCriteriaDto) { using(DbContext) ...

15得票6回答
DataReader - 是否硬编码序号?

从 DataReader 返回数据时,我通常会使用 DataReader 上的序号引用来获取相关列:if (dr.HasRows) Console.WriteLine(dr[0].ToString()); 或者if (dr.HasRows) Co...

15得票1回答
当使用OracleDataReader读取数据时如何处理NULL值?

我正在开发我的第一个ASP.Net应用程序,在此过程中遇到了很多问题(主要背景是WinForms,最近有一个MVC5项目)。 我成功地使用OracleCommand建立了数据库连接并执行了查询,但是当我尝试读取行数据时,对于odr.GetDecimal(1)的第二行出现了Column con...

14得票2回答
使用列名访问DataReader.GetString()方法

Dictionary Fields = new Dictionary(); for (int i = 0; i < reader.FieldCount; i++) { Fields.Add(reader.GetName(i), i); } // 获取指定字段名的字符串类型数...

13得票1回答
DataReader[i]与DataReader.GetValue(i)与DataReader.GetString(i)的区别

IsdataReader[i] 逻辑上等价于dataReader.GetValue(i) 它们是相同的吗?它们有什么区别?在什么情况下使用一个比另一个更合适? 这两个方法在文档中有不同的定义: 获取指定索引处的列。 返回指定字段的值。 但是当我使用它们时,它们都返...

13得票3回答
WinRT:目标多字节代码页中不存在Unicode字符的映射。

我正在尝试在我的Windows 8商店应用程序中读取文件。以下是我用来实现此目的的代码片段: if(file != null) { var stream = await file.OpenAsync(FileAccessMode.Read)...

12得票2回答
通用关系到复合C#对象映射器

我有以下代码,能够将 Reader 映射为简单对象。但问题是,如果对象是复合对象,则无法映射。我无法通过检查属性是否为类本身来执行递归。 prop.PropertyType.IsClass 需要作为类型调用 DataReaderMapper()。 你有任何想法如何实现或其他方法吗?另外,目前...