在ADO.NET中使用参数化SQL语句访问不同数据库时的差异
在ADO.NET中经常需要跟各种数据库打交道,在不实用存储过程的情况下,使用参数化SQL语句一定程度上可以防止SQL注入,同时对一些较难赋值的字段(如在SQL Server中Image字段,在Oracle中Clob字段等)使用参数化SQL语句很容易就能赋值,所以本人经常在ADO.NET中使用参数化SQL语句,近几年来陆续跟SQL Server/Oracle/ MySQL 打交道,积累了一些心得,现在整理出来供大家参考。
表架构如下:
create table Table1
(
Column1
varchar(60) not null,
Column2
varchar(60) not null,
Column3
int
not
null default 0,
)
使用ado.net参数化查询语句,向Table1中插入一条记录。
MySql: string sql = "insert into Table1(Column1,Column2,Column3)values(?Column1,?Column2,?Column3)";
Sql Server: string sql = "insert into Table1(Column1,Column2,Column3)values(@Column1,@Column2,@Column3)";
Oracle: string sql = "insert into Table1(Column1,Column2,Column3)values(:Column1,:Column2,:Column3)";
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。