如何将变量放到sql语句中

sheepboy 2005-09-24 06:09:39
比如在:select name from syscolumns where id=object_id('表名')中
我用一个变量来表示'表名',应该用什么类型,又怎样放到这句sql语句里面?
...全文
157 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
vivianfdlpw 2005-09-24
  • 打赏
  • 举报
回复
或者写一个存储过程:

create procedure p
@tbName varchar(20)
as
select name from syscolumns where id=object_id(@tbName)
go

然后C#中:
string tbName="syscolumns"; //表名
SqlCommand cmd=new SqlCommand ();
cmd.CommandText ="p";
cmd.CommandType =CommandType.StoredProcedure;
cmd.Parameters .Add (new SqlParameter ("@tbName",SqlDbType.VarChar,20));
cmd.Parameters [0].Value =tbName;
cmd.Connection .Open ();
SqlDataReader dr=cmd.ExecuteReader();
vivianfdlpw 2005-09-24
  • 打赏
  • 举报
回复
string tbName="syscolumns"; //表名
StringBuilder sb=new StringBuilder ();
sb.Append (" declare @tbName varchar(20)");
sb.Append (" set @tbName='"+tbName+"'");
sb.Append (" select name from syscolumns where id=object_id(@tbName)");

SqlCommand cmd=new SqlCommand ();
cmd.CommandText =sb.ToString ();
cmd.Connection .Open ();
SqlDataReader dr=cmd.ExecuteReader();
sheepboy 2005-09-24
  • 打赏
  • 举报
回复
在c#中呢?
云中客 2005-09-24
  • 打赏
  • 举报
回复
declare @tbName varchar(20)
set @tbName='syscolumns'
select name from syscolumns where id=object_id(@tbName)
vivianfdlpw 2005-09-24
  • 打赏
  • 举报
回复

declare @tbName varchar(20)
set @tbName='syscolumns'
select name from syscolumns where id=object_id(@tbName)
wgsasd311 2005-09-24
  • 打赏
  • 举报
回复
declare @name varchar(4000)
declare curcol cursor for
select name from syscolumns where id=object_id('表名')
open curcol
fetch next from curcol into @name
exec('select '+@name+ ' from 表名')

34,591

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧