为什么我们需要SqlCeCommand.Parameters.AddWithValue()来插入一个值?
我有一个C#WPF桌面应用程序,它使用SQL Compact 3.5作为其嵌入式数据库。 在它的插入function
using (SqlCeCommand com = new SqlCeCommand( "INSERT INTO FooTable VALUES(@num)", con)) { com.Parameters.AddWithValue("@num", num); com.ExecuteNonQuery(); }
我没有得到com.Parameters.AddWithValue()的内容。 我注释掉了这行代码,插入函数运行完全相同。 我以为ExecuteNonQuery执行插入,那么这个Parameters.AddWithValue是什么东西?
@num
是一个TSQL参数。 如果没有AddWithValue(@num, num)
,既不定义也不赋值。 它只是不能使用省略的参数,即使它做了:它将从哪里得到你选择的值( num
)? 它可以做的绝对最好的是使用null
,这不是你的意图; 更典型的是,它只是无法执行(你确定你不会在某个地方吞下exception吗?)。
请注意,不建议将值连接到字符串本身; 它会导致SQL注入风险,并且可能会降低性能(计划重用;不确定这适用于CE – CE可能不会对缓存计划感到烦恼)。
上述就是C#学习教程:为什么我们需要SqlCeCommand.Parameters.AddWithValue()来插入一个值?分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1009019.html