roy*_*roy -3 sql vb.net oledb ms-access oledbcommand
亲爱的所有程序员,
这是vb.net中oledb中最好且快速的参数命令,请用下面的选项代码解释详细信息,因为我想在access数据库中使用CRUD应用程序,这样我在应用代码时就不会出错
谢谢
cmd.Parameters.Add(New OleDbParameter("Item1", TextBox1.Text))
Run Code Online (Sandbox Code Playgroud)
cmd.Parameters.AddWithValue("Item1", TextBox1.Text)
Run Code Online (Sandbox Code Playgroud)
cmd.Parameters.Add("Item1", OleDbType.VarChar).Value = TextBox1.Text
Run Code Online (Sandbox Code Playgroud)
好吧,参数的速度在这里是错误的词和概念。
CPU 的处理量非常大。参数的速度或时间在这里并不重要。(一直需要并且重要的是数据引擎一旦开始提取数据的速度 - 这将花费 10,000 倍以上的时间。因此,问题不在于在这里添加参数的速度,而且它不会做出改变。
但是,从开发人员的角度来看,什么是更好的选择呢?
尝试使用参数时什么是更好的选择?
毫无疑问 - 你的第三个例子是更好的选择:
例如这个:
cmd.Parameters.Add("Item1", OleDbType.VarChar).Value = TextBox1.Text
Run Code Online (Sandbox Code Playgroud)
事实上,这方面存在相当多的混乱。有注释、评论,甚至文章建议不要使用 .Add。但是,事实上,它们的意思是不使用您添加的 .Add 重载,并使用第二个值作为“值”。在这种情况下,这可能会混淆参数,因为 sqlDBTypes 的枚举也可以是整数,并且不清楚您是否添加 int 值或尝试使用 sqlDBtype。
但是,当您按照第三个示例使用 .Value 时,.net 永远不会感到困惑,因此使用最后一个值并享受强类型参数转换是示例代码位的最佳选择。
.Add 的第三种形式并未被弃用,也从未被弃用。