C# ADO.net DataReader数据库读取GetString得到NULL值的处理

数据库中的null和字符串中的null是不同类型的值,当读取时不能直接赋值。

DataReader类封装了一个方法IsDBNull()来判断值是不是数据库中的空(null)值;

DataReader reader = cmd.ExecuteReader();

if (reader.Read())
{
        int number = (reader.IsDBNull(0)) ? 0:reader.GetInt32(0);
        string str = (reader.IsDBNull(1)) ? "无" : reader.GetString(1);    
}


  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在 ASP.NET 中访问数据库通常有两种方式:使用 ADO.NET 或使用 Entity Framework。 1. 使用 ADO.NET ADO.NET是一种数据访问技术,用于访问和操作关系型数据库。以下是使用 ADO.NET 访问数据库的一些基本步骤: - 引用 System.Data 命名空间。 - 创建一个连接字符串,指定数据库的位置、凭据和其他选项。 - 创建一个 Connection 对象,使用连接字符串打开数据库连接。 - 创建一个 Command 对象,执行 SQL 语句,返回一个 DataReader 对象。 - 使用 DataReader 对象读取处理查询结果。 - 关闭 DataReader 和 Connection 对象。 以下是一个使用 ADO.NET 访问 SQL Server 数据库的示例: ``` using System.Data.SqlClient; string connectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;"; string queryString = "SELECT FirstName, LastName FROM Customers"; SqlConnection connection = new SqlConnection(connectionString); SqlCommand command = new SqlCommand(queryString, connection); connection.Open(); SqlDataReader reader = command.ExecuteReader(); while (reader.Read()) { Console.WriteLine(reader["FirstName"].ToString() + " " + reader["LastName"].ToString()); } reader.Close(); connection.Close(); ``` 2. 使用 Entity Framework Entity Framework 是一种 ORM(对象关系映射)框架,它允许开发人员使用 .NET 对象来表示和操作数据库中的数据。以下是使用 Entity Framework 访问数据库的一些基本步骤: - 安装 Entity Framework NuGet 包。 - 创建一个数据模型,表示数据库中的表和关系。 - 创建一个 DbContext 对象,表示数据库的上下文环境。 - 使用 DbContext 对象查询和操作数据。 以下是一个使用 Entity Framework 访问 SQL Server 数据库的示例: ``` using System.Data.Entity; public class Customer { public int CustomerId { get; set; } public string FirstName { get; set; } public string LastName { get; set; } } public class CustomerContext : DbContext { public DbSet<Customer> Customers { get; set; } } string connectionString = "Data Source=myServerAddress;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;"; using (var context = new CustomerContext(connectionString)) { var customers = context.Customers.ToList(); foreach (var customer in customers) { Console.WriteLine(customer.FirstName + " " + customer.LastName); } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fantasypan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值