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

比如select*fromstudentwheretID=@tID这样可以吗?... 比如
select * from student where tID = @tID
这样可以吗?
展开
 我来答
piachangchaed
2011-03-23
知道答主
回答量:28
采纳率:0%
帮助的人:21.3万
展开全部
完全可以。但在执行查询前须给@tID赋值,否则没什么意义。
declare @tID int
set @tID = xx
select * from student where tID = @tID
greystar_cn
2015-12-08 · 知道合伙人软件行家
greystar_cn
知道合伙人软件行家
采纳数:16407 获赞数:17260
本人主要从事.NET C#方向的技术开发工作,具有10多年的各类架构开发工作经验。

向TA提问 私信TA
展开全部
从提升性能和安全的角度(防注入)来讲,建议使用参数化方式来处理。
示例如下:
//实例化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();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
近火楼台
2011-03-22 · TA获得超过114个赞
知道答主
回答量:87
采纳率:100%
帮助的人:57.5万
展开全部
可以。
Declare @str varchar(1000),@tID varchar(30)
set @tID='001'
set @str='select * from student where tID = '''+@tID+''''
exec @str
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
顺当还耐心的帮手u
2011-03-22 · 超过21用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:45万
展开全部
如果使用参数,需在运行前声明并赋值
比如
declare @tID CHAR(8)
SET @tID ='0001' (OR SET @tID = SELECT XXX FROM XXX )

select * from student where tID = @tID
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
loveid
2011-03-21 · TA获得超过358个赞
知道小有建树答主
回答量:447
采纳率:100%
帮助的人:516万
展开全部
一楼自己不知道怎么乱说呢
t_sql
DECLARE @tID AS VARCHAR(10)
SET @tID = 'abc'
SELECT @tID
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(7)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式