第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本回答被提问者采纳