1樓:匿名使用者
傻,不會變通,直接用select * from table where id in(@a1,@a2,@a3.....)
明白了嗎?
也可以把id拆分出來,既然是id拆分出來以後全部轉成數字,再重新組合,就不用引數了,也不會被注入了。
2樓:
不可以,in使用引數時會強制轉換引數型別與條件欄位一致,不支援構造字串(如果欄位本身為varchar、char型,則in相當於只有一個條件值,而不是一組)
你可以使用exec,把整個sql當做引數來執行,如exec( 'select * from table where id in ( '+@ids+ ') ')
但是我感覺這樣實際上和直接構造sql語句沒區別,起不到防注入作用
3樓:關中布衣
照樣啊 select * from table where id in (@id) 只不過@id 要組織成 1,2,3 這樣的字串
4樓:
可以把 in(1,2,3) 這樣的值作為引數,如:string.fomat(".......in('','',''",id1,id2,id3);
不知道可以不可以,你可以試試。
5樓:匿名使用者
這個@id的值在要插入的時候,先判斷好啊,這個邏輯放在**裡面實現嘛~~~
判斷是不是數字和逗號分開的
6樓:匿名使用者
試一把不就知道了,同樣的方法傳試試看
c#**處理sql語句中in操作
7樓:
首先想到的就是拼接,拼接成以逗號間隔的即可。
string s = string.join(",",arraylist);
string.join方法有兩個引數,第一個表示要拼接的符號,第二個表示要拼接的陣列。
可參考msdn上實現拼接,在linq中也可以實現的各類的拼接的。儘量不要使用迴圈。
8樓:
可以拼接sql語句在in裡面,也可以使用迴圈生成多個引數.
9樓:
拼接,而且只能是一個一個拼接,引用型別注意單引號即可
c# 中引數化拼接sql語句插入資料庫
10樓:匿名使用者
三個步驟:
第一步:宣告資料庫連線物件:
sqlconnection connection=new sqlconnection(connectionstring);
第二步:宣告資料庫操作物件:
兩種途徑:
直接以字串拼接的方式形成sql語句,比如:
sqlstr="insert into usertab(uid,pwd) values('"+uidtxt+"','"+pwdtxt+"')";
sqlcommand command = new sqlcommand(sqlstr, connection);
以引數佔位的先行成形式語句,然後對引數實行繫結,比如:
sqlstr="insert into usertab(uid,pwd) values(@uidtxt,@pwdtxt)";
sqlcommand command = new sqlcommand(sqlstr, connection);
command.parameters.add("@uidtxt", sqldbtype.text);
command.parameters["@uidtxt"].value =uidtxt;
command.parameters.add("@pwdtxt", sqldbtype.text);
command.parameters["@pwdtxt"].value =uidtxt;
執行資料庫操作:
command.executenonquery();
connection.close();
11樓:匿名使用者
將你查詢的語句一條一條的插入到datatable裡面,然後批量插入資料庫表單中用下面的方法
public void inserttable(datatable table1,string tablename) // table1要插入的資料 tablename 資料庫表單名稱
sqlbulkcopy.close();}
12樓:匿名使用者
可以使用xml當引數之後 在用儲存過程接收,例如declare @idoc int
declare @doc nvarchar(max)set @doc ='1a
2b'exec sp_xml_preparedocument @idoc output, @doc
select
*from openxml (@idoc, '/roots/root',2)
with (id nvarchar(10),name nvarchar(100))
insert into ....
13樓:匿名使用者
新增引用oracle.dataaccess.dll
using oracle.dataaccess.client;
如何使用SQL語句實現如下更新,如何使用SQL語句實現如下更新?
如果是sqlserver可以這樣實現 先給你說思路,首先用到亂序排列,然後用到分割槽函式select from select row number over partition by staffno order by patindex substring grade,1,1 高,中,初 id,fro...
如何在sql語句中使用保留字
在sql語句中,有些特殊字元,是sql保留的。比如 等。我們可以先看看它們的用法。當需要查詢某資料時,加入條件語句,或著當你需要insert記錄時,我們用 來將字元型別的資料引起來。比如 select from customers where city london 當表的名字或列的名字中,含有空格...
sql語句刪除某欄位中資料sql語句刪除某欄位中一個資料
update 表名 set 欄位名 null where 欄位名 值 and 欄位2 值2 值就是你要刪除的資料 欄位2和值2值是用來定位值在表中的具體位置 只有前面的值很容易刪除同欄位等值的數 加上欄位2值2就可以精準定位 值2最好是唯一約束下面這是我寫的 update student set 年...