c# - 使用带有 sql 查询的 ado.net 时计算年龄?

标签 c# ado.net

这是我的选择

using (SqlConnection con = new SqlConnection(dc.Con))
{
    SqlDataAdapter da = new SqlDataAdapter(
            "Select DateOfBirth FROM Patients WHERE HealthNumber='" + cmbHealthNumber.Text+ "'", con);

我如何着手计算客户更改我的上述代码的年龄

我试过了,但我从来没有解决过这个问题......

谢谢你帮助我!

最佳答案

如果您只需要检索单个DateTime,为什么不使用:

string sqlStmt = "SELECT DateOfBirth FROM dbo.Patients WHERE HealthNumber = @No";

using (SqlConnection con = new SqlConnection(dc.Con))
using (SqlCommand cmd = new SqlCommand(sqlStmt, con))
{
   cmd.Parameters.Add("@No", SqlDbType.VarChar, 20).Value = cmbHealthNumber.Text.Trim();

   con.Open();
   var result = cmd.ExecuteScalar();       
   DateTime dateOfBirth = Convert.ToDateTime(result);
   con.Close();
}

真的没有必要为了单个值而经历所有 SqlDataAdapterDataTableDataSet 的麻烦.. ...

此外:始终使用参数化查询! - 异常(exception)。防止 SQL 注入(inject) - 你绝对不希望这样!

关于c# - 使用带有 sql 查询的 ado.net 时计算年龄?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7984469/

相关文章:

c# - 如何验证密码包含X个大写字母和Y个数字?

tsql - 等待 ADO.NET 或 TSQL 中的事务复制

c# - "SqlDbType"和 "size"在添加SqlCommand参数时应该什么时候使用?

sql-server - 使用 SqlBulkCopy 插入 sql_variant 列时如何设置列类型

c# - 一个页面上的多个 GridView

c# - NHibernate - 脱水属性值时出错

c# - 如何在 C# 中将图像文件上传到 Active Directory 用户配置文件?

c# - 对于 35 张图像,如何在获取 1 个特定像素的颜色时获得最佳性能?

mysql - 如何在 ADO.NET 中使用 MySQL 用户变量

c# - 尽管数据已添加到数据库中,但 ExecuteScalar() 返回 null