当前位置:编程学习 > C#/ASP.NET >>

更新数据库,SQL语句(update)与SqlParameter哪个好

对于添加数据表,我常用了两种方法
第1种是 写一个update的SQL语句
然后通过执行这个语句ExecuteNonQuery()来更新

第2种是
param = new SqlParameter("@ParameterName", SqlDbType.DateTime); 
 com.Parameters.Add
。。。。。

请问这两个有什么区别和优点啊 --------------------编程问答-------------------- 后面的好 因为后面的是调用SQL存储过程 存储过程是预编译的 你用update语句是后编译 速度就会慢些 --------------------编程问答-------------------- 如果我不是更新数据库,而是插入,前面是INSERT语句,那是哪个好些呢 --------------------编程问答-------------------- 存储过程不是万能的。 --------------------编程问答-------------------- 一些简单的语句就直接用吧,沒必要所有的都用存储过程,总的来说还是看个人习惯吧~~ --------------------编程问答-------------------- 用SqlParameter 
这样的话,可避免SQL注入!
与写存储过程是一样效果! --------------------编程问答-------------------- 存储过程 --------------------编程问答-------------------- 第一种比较快,第二种比较安全 --------------------编程问答-------------------- 第二种 强类型 
不过也不见得是存储过程
--------------------编程问答-------------------- up --------------------编程问答-------------------- up --------------------编程问答-------------------- 毫无疑问是第二种好了. 第二种附带了类型校验,安全性强.
--------------------编程问答-------------------- up --------------------编程问答-------------------- 第1种比较方便,第2种比较安全!按你是开发什么平台的而定!
--------------------编程问答-------------------- up --------------------编程问答-------------------- 用SQL语句简单,执行也快捷,但容易被别人恶意注入,有一定危险。
用Parameters程序语句繁杂一点,但不会被注入,比较安全。
楼主你自己决定用哪个好了。 --------------------编程问答-------------------- 后者安全一点 --------------------编程问答-------------------- 其实关键看自己习惯,而关于注入的问题,自己注意过滤引号即可。 --------------------编程问答-------------------- up --------------------编程问答-------------------- hxling1981(冷雨星空)

用SqlParameter 
这样的话,可避免SQL注入!
与写存储过程是一样效果!

你的意思是不是用SqlParameter 和在数据库里面些 Create Pro 存储过程名{....}
在调用 
赋值 和用 Select * from News where id=@id  在给@id赋值是完全一样的效果 速度一样啊???? --------------------编程问答-------------------- 用SqlParameter 
这样的话,可避免SQL注入!
与写存储过程是一样效果! --------------------编程问答-------------------- Select * from News where id=@id  这样的语句放在代码页面里和放在数据库里是一样的吗?

他也会缓存在数据库里面 用的时候直接用就可以了吗??
--------------------编程问答-------------------- 如果数据量大就用第二种,小的就是第一种比较快速 --------------------编程问答-------------------- 各位大哥们,我还是没把存储过程搞清楚,现在单纯的用Parameters.Add,不在数据库里写存储过程
是一种什么情况啊

--------------------编程问答-------------------- 存储过程吧,这样修改存储过程,不影响程序 --------------------编程问答-------------------- 第一种常用,但不适合大数据量的插入。如(text,image)
第二种可以插入大数据量的数据。

(我想这是最根本的区别吧) --------------------编程问答-------------------- 个人觉得简单的SQL语句就用第一种
复杂的就用第二种比较安全了 --------------------编程问答-------------------- 各位大哥们,我还是没把存储过程搞清楚,现在单纯的用Parameters.Add,好象也没在数据库里写存储过程啊,到底第2种是不是还分了几种情况啊
--------------------编程问答-------------------- 仁者见仁 --------------------编程问答-------------------- 用Parameters.Add是向Sql命令中的参数传值,这个参数可以是存储过程中的参数,也可以是一个Sql语句中的参数.

用这个参数最大的好处是可以交由数据库服务器来自动的管理数据类型,而不用在程序里拼来拼去的降低效率,且美观易用. --------------------编程问答-------------------- 比如如下的一个Sql语句就可以用参数来传:

select * from table where id = @id;

虽然这个不是存储过程,可是在语句中使用了参数@id,就可以通过SqlParameter来传值. --------------------编程问答-------------------- 存储过程! --------------------编程问答-------------------- 用Parameters.Add是向Sql命令中的参数传值,这个参数可以是存储过程中的参数,也可以是一个Sql语句中的参数.
///////////////////////////
存储过程中的参数与Sql语句中的参数的参数有啥区别啊 --------------------编程问答-------------------- 谁说的SQL语句就不能用SQLPARAMETER了?
--------------------编程问答-------------------- 存储过程中的参数与Sql语句中的参数的参数有啥区别啊
-----------
如果说区别,那就是一个是声明在了存储过程中,一个是直接写到Sql语句中了. --------------------编程问答-------------------- 开发面向对象的数据库访是,不建议使用存储过程。 --------------------编程问答-------------------- 存储过程要优于直接SQL语言~~ --------------------编程问答-------------------- 存储过程中的参数与Sql语句中的参数的参数有啥区别啊
-----------
如果说区别,那就是一个是声明在了存储过程中,一个是直接写到Sql语句中了.
/////////////////////////////////////////
可否解释的再详细点啊,谢谢哦 --------------------编程问答-------------------- 存储过程 --------------------编程问答-------------------- 存储过程中的参数与Sql语句中的参数的参数有啥区别啊
-----------
如果说区别,那就是一个是声明在了存储过程中,一个是直接写到Sql语句中了.
/////////////////////////////////////////
可否解释的再详细点啊,谢谢哦 --------------------编程问答-------------------- 用SqlParameter避免SQL注入. --------------------编程问答-------------------- 使用参数化输入 防止sql注入,

优化角度 :存储过程 --------------------编程问答-------------------- 主要效率差别体现在语句的预编译 --------------------编程问答-------------------- 后一种是存储过程。。。。。 --------------------编程问答-------------------- 后者好,考虑到安全问题.可以防止SQL注入 --------------------编程问答-------------------- 后面是安全- -!

但是存储过程写多了,也会造成不少麻烦 --------------------编程问答-------------------- 传是第二种好.可是用的第二种也同样受攻击.第一种也照样可以没有事! --------------------编程问答-------------------- 第二种好,第二种是传参数,执行存储过程。这样方式肯定要快点。
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,