sql查询语句的where条件里可以使用参数吗?

比如
select * from student where tID = @tID
这样可以吗?

完全可以。但在执行查询前须给@tID赋值,否则没什么意义。
declare @tID int
set @tID = xx
select * from student where tID = @tID
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-12-08
从提升性能和安全的角度(防注入)来讲,建议使用参数化方式来处理。
示例如下:
//实例化Connection对象
SqlConnection connection = new SqlConnection("server=localhost;database=pubs;uid=sa;pwd=''");
//实例化Command对象
SqlCommand command = new SqlCommand("select * from UserInfo where sex=@sex and age>@age", connection);
//第一种添加查询参数的例子
command.Parameters.AddWithValue("@sex", true);
//第二种添加查询参数的例子
SqlParameter parameter = new SqlParameter("@age", SqlDbType.Int);//注意UserInfo表里age字段是int类型的
parameter.Value = 30;
command.Parameters.Add(parameter);//添加参数

SqlDataReader reader = command.ExecuteReader();
第2个回答  2011-03-22
可以。
Declare @str varchar(1000),@tID varchar(30)
set @tID='001'
set @str='select * from student where tID = '''+@tID+''''
exec @str
第3个回答  2011-03-22
如果使用参数,需在运行前声明并赋值
比如
declare @tID CHAR(8)
SET @tID ='0001' (OR SET @tID = SELECT XXX FROM XXX )

select * from student where tID = @tID
第4个回答  2011-03-21
一楼自己不知道怎么乱说呢
t_sql
DECLARE @tID AS VARCHAR(10)
SET @tID = 'abc'
SELECT @tID本回答被提问者采纳
相似回答