C#学习教程:将空值插入sql server中的int列分享


将空值插入sql server中的int列

我有一个子程序将记录插入sql server表。 代码:

public void Insert_Met(int Counts, char Gender) { Dictionary parameters = new Dictionary(); parameters.Add("@Counts", Counts); parameters.Add("@Gender", Gender); // run a stored procedure ExecuteNonQuery } 

我的其他行代码,

  int counts = Convert.ToInt32(numberUpdowncontrol1.Text); // from a control, maybe empty then it is null. Insert_Met(counts,'M'); 

我的问题是有时Counts可以为null,那么如何更改我的代码呢?

谢谢,

你可以用int? counts int? counts而不是int counts ,并检查方法中的值:

 public void InsertMet(int? counts, char gender) { Dictionary parameters = new Dictionary(); parameters.Add("@Counts", counts.HasValue ? counts.Value : (object)DBNull.Value); parameters.Add("@Gender", gender); // run a stored procedure ExecuteNonQuery } 

它是Windows窗体中的numericupdown控件。 我觉得很难将文本分配给int变量。 怎么改呢?

为了适当地设置上述计数值,您可以:

 int value = (int)numberUpdowncontrol1.Value; int? counts = !string.IsNullOrEmpty(numberUpdowncontrol1.Text) ? value : (int?)null; InsertMet(counts, 'M'); 

以下语句将始终生成非null值

 int counts = Convert.ToInt32(null); // Result is 0 

 int count = !(count == 0)? count ? (object)DBNull.Value 

– 如果count不为零,则将计数值保存到数据库 – 如果为零保存

上述就是C#学习教程:将空值插入sql server中的int列分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—猴子技术宅(www.ssfiction.com)

本文来自网络收集,不代表猴子技术宅立场,如涉及侵权请点击右边联系管理员删除。

如若转载,请注明出处:https://www.ssfiction.com/ckf/1269763.html

(0)
上一篇 1天前
下一篇 1天前

精彩推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注