.NET和MySql参数,AddWithValue NULL变量,如何避免检查空值
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了.NET和MySql参数,AddWithValue NULL变量,如何避免检查空值,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1108字,纯文字阅读大概需要2分钟。
内容图文
![.NET和MySql参数,AddWithValue NULL变量,如何避免检查空值](/upload/InfoBanner/zyjiaocheng/894/f46399ae58044f5f9eae0962c51a6135.jpg)
假设我有一个MySql存储过程,它插入一些带有一些可空字符的字段的记录.
在VB.NET中,如果我没有检查Nothing(或其他语言中的Null),我从db驱动程序中得到一个异常,所以我写道:
command.CommandType = CommandType.StoredProcedure;
command.Parameters.AddWithValue("_name", if(name Is Nothing, "", name)).Direction = ParameterDirection.Input;
这是我不喜欢的第一件事;我想传递Nothing,驱动程序知道它必须在Db中放置NULL.但是,在存储过程中,我必须检查字段是否为空:
INSERT INTO mytable
(
name,
-- other 200 char fields
)
VALUES
(
NULLIF(_name, ''),
-- other 200 char fields
)
丑呃?我必须两次检查虚无/空虚.
有更好,更直接的方式吗?
更糟糕的是,对于非引用类型(即:整数),检查虚无是没有意义的,因为基本类型不能是空的(是的,我可以将整数设置为无意义的值,对于正id,将-1设置为1) ,但……).
解决方法:
如果要插入NULL,请使用next:
command.Parameters.AddWithValue("_name", name ?? DBNull.Value);
意思是一样的
if(name != null)
command.Parameters.AddWithValue("_name", name);
else
command.Parameters.AddWithValue("_name", DBNull.Value);
在MSDN上查看有关null-coalescing运算符的更多信息
如果你想插入空的char”你接下来:
command.Parameters.AddWithValue("_name", name ?? '');
内容总结
以上是互联网集市为您收集整理的.NET和MySql参数,AddWithValue NULL变量,如何避免检查空值全部内容,希望文章能够帮你解决.NET和MySql参数,AddWithValue NULL变量,如何避免检查空值所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。