c 針對不同資料庫進行引數化查詢

2022-03-04 23:26:41 字數 1029 閱讀 5889

使用引數化 dbcommand 的乙個缺點是需要引數的**將僅適用於支援相同語法的提供程式。oledb、sqlclient 和 oracle 提供程式全部使用不同的語法。例如,用於命名和指定引數的 sql 語法使用 @ 符號,oledb 引數語法需要使用問號 (?) 作為引數佔位符,而 oracle 提供程式使用冒號 (:)。

string sqlstr = " select * from table where id=@id and name=@name ";

system.data.sqlclient.sqlparameter parameters = newsystem.data.sqlclient.sqlparameter[2];

parameters[0] = new sqlparameter("@id", uid);

parameters[1] = new sqlparameter("@name", name);

string sqlstr = " select * from table where id=? and name=? ";

system.data.oledb.oledbparameter parameters = new system.data.oledb.oledbparameter[2];

parameters[0] = new oledbparameter("id", uid);

parameters[1] = new oledbparameter("name", name);

string sqlstr = " select * from table where id=:id and name=:name ";

system.data.oracleclient.oracleparameter parameters = new system.data.oracleclient.oracleparameter[2];

parameters[0] = new oracleparameter(":id", uid);

parameters[1] = new oracleparameter(":name", name);

C 引數化查詢資料庫防注入

採用sqlclient方式連線資料庫 1 string name lui 語句中直接在sql語句中寫新增的引數名,不論引數型別都是如此.sqlcommand cmd new sqlcommand connection1 cmd.commandtext insert into tuserlogin v...

MySQL不同表查詢,不同資料庫查詢

內容比較弱 歡迎大神們指點 在mysql中 要實現不同表的查詢和不同資料庫的查詢,首先得有地方查吧 1 建立資料庫 create databaes test use test create table pet id int,name varchar 20 create table user id i...

C 針對SQLserver資料庫獲取資料

using system using system.collections.generic using system.linq using system.text using system.threading.tasks using system.data using system.data.sql...