25得票5回答
如何使用SqlDataReader获取位值并将其转换为布尔值?

我正在使用简单的查询从数据库检索用户信息。select * from dbo.[User] u where u.Email = @email 我接着尝试获取一个名为IsConfirmed的列的值(它在数据库中表示为位类型列),并将其转换为bool型。bool isConfirmed = int...

24得票5回答
如果我调用SqlReader.Read,是否应该调用SqlDataReader.HasRows?

尝试确定在while (dr.read())函数之前添加if (dr.HasRows)是否有益。我的意思是,从技术上讲,如果它没有行,则不会读取,因此首先检查这一点是否重要。using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr....

22得票4回答
为什么要使用SqlDataReader的GetOrdinal()方法?

使用以下语法从SqlDataReader中读取值有什么区别:Dim reader As SqlClient.SqlDataReader reader("value").ToString() 或者Dim reader As SqlClient.SqlDataReader reader.GetSt...

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

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

21得票2回答
yield return与return IEnumerable<T>的区别

我注意到在 IDataReader 中使用 using 语句读取时有一个奇怪的问题,我无法理解。尽管我确信答案很简单。 为什么当我直接在 using (SqlDataReader rd) { ... } 内执行 yield return 时,阅读器会在读取期间保持打开状态。但是如果我执行直接...

21得票5回答
在 DataReader.GetString() 中无法将类型为 'System.Int32' 的对象强制转换为类型 'System.String'。

我正在尝试将数据库中的数据添加到一个 ComboBox 中。 try { SqlCeCommand com = new SqlCeCommand("select * from Category_Master", con); SqlCeDataReader dr = com.E...

20得票4回答
为什么 DataTable 比 DataReader 更快

在工作中,我们就采用哪种数据访问方式进行了激烈的辩论:是DataTable还是DataReader。 免责声明:我站在DataReader一边,但这些结果打破了我的看法。 我们编写了一些基准测试来测试速度差异。普遍认为DataReader更快,但我们想看看它到底有多快。 结果让我们感到惊讶。D...

20得票6回答
如何从数据库中获取可空的DateTime?

我的 SQL Server 数据库包含可空的 DateTime 值。我该如何在 C# 应用程序中将它们转换为可空的 DateTime 对象?以下是我认为会有效果的代码,但实际上不行:DateTime? dt = (DateTime?) sqldatareader[0];

20得票2回答
百万条插入:SqlBulkCopy超时问题

我们已经有一个运行中的系统,处理所有连接字符串(db2、oracle、MSServer)。 目前,我们正在使用ExecuteNonQuery()进行一些插入操作。 我们想通过使用SqlBulkCopy()而不是ExecuteNonQuery()来提高性能。我们有一些客户端拥有超过5000万...

19得票3回答
使DbDataReader从结果集的开头重新开始读取

如果满足某个条件,如何使dr.Read();从开头开始再次读取? 类似于:SqlDataReader dr = command.ExecuteReader(); for(int i=0; dr.Read() ; i++){ if(condition ){ //let ...