1樓:
從提升效能和安全的角度(防注入)來講,建議使用引數化方式來處理。
示例如下:
//例項化connection物件
sqlconnection connection = new sqlconnection("server=localhost;database=pubs;uid=sa;pwd=''");
//例項化command物件
sqlcommand command = new sqlcommand("select * from userinfo where ***=@*** and age>@age", connection);
//第一種新增查詢引數的例子
command.parameters.addwithvalue("@***", true);
//第二種新增查詢引數的例子
sqlparameter parameter = new sqlparameter("@age", sqldbtype.int);//注意userinfo表裡age欄位是int型別的
parameter.value = 30;
command.parameters.add(parameter);//新增引數
sqldatareader reader = command.executereader();
2樓:匿名使用者
你的寫法是對的,只要保證在執行這條語句時,@tid有值就行。
3樓:匿名使用者
這個是儲存過程的寫法,無論如何,執行sql語句時,引數都應該接收到值。在程式**裡,構成sql語句的字串可以這樣寫,然後格式化字串時把值賦進去。例如:sprintf等。
4樓:微胖子
如果使用引數,需在執行前宣告並賦值
比如declare @tid char(8)set @tid ='0001' (or set @tid = select *** from *** )
select * from student where tid = @tid
5樓:匿名使用者
完全可以。但在執行查詢前須給@tid賦值,否則沒什麼意義。
declare @tid int
set @tid = xx
select * from student where tid = @tid
6樓:匿名使用者
一樓自己不知道怎麼亂說呢
t_sql
declare @tid as varchar(10)set @tid = 'abc'
select @tid
7樓:近火樓臺
可以。declare @str varchar(1000),@tid varchar(30)
set @tid='001'
set @str='select * from student where tid = '''+@tid+''''
exec @str
8樓:物慾他們比
不行! 這樣肯定不行的
想在sql語句中新增一個where條件,這個where條件是如果傳過來的引數有就新增,沒傳引數過來就預設不新增 5
9樓:匿名使用者
select * from table_name where 1 = 1 [and id = '***']
10樓:軒轅小珂
where .....and (月份=引數 or引數 is null)
應該能用
SQL查詢資料語句問題,SQL查詢資料語句問題
取n到m行 1.select top m from tablename where id not in select top n id from tablename order by id asc desc 2.select top m into 臨時表 或表變數 from tablename or...
sql查詢語句
商品重量有字元肯定不可以直接獲得乘積,假設商品數量和商品重量分別欄位名 amount和weight,新獲取的值存在總克數total中,名稱trade,假設商品id 1,解決辦法如下 select amount cast substring weight,1,len weight 1 as float...
sql查詢指定記錄的條數,sql語句查詢表內資料條數?
sql 使用 count可以統計指定記錄的條數 結合group by 可以統計不同分類的條目數 例子 id name 1 xk 2 kl 3 xk 統計name xk 的條數 select count number from table where name xk 結果number2 關注 upda...