这个存储过程错哪了?

anranstl 2008-06-08 03:11:24
以下是我建立的一个存储过程用来复制一个表到另一个表中,表名由用户输入:
CREATE procedure creatNewTable
@tableName varchar(100) output
as
declare @sql varchar(2000)
set @sql='select * into '+@tableName +'from d_integrate'
exec(@sql)
GO

下面是我在.net中调用存储过程的语句:
SqlConnection sqlc = new SqlConnection("server=.;database=tlxt;uid=sa;pwd=;integrated security=SSPI;persist security info=False;");
SqlCommand comm = new SqlCommand("creatNewTable", sqlc);
comm.CommandType = CommandType.StoredProcedure;
comm.Parameters.Add("@tableName", SqlDbType.VarChar, 100);
comm.Parameters["@tableName"].Value = this.TB1.Text; //TB1.Text 为用户输入的表名
comm.Connection.Open();
comm.ExecuteNonQuery();
Response.Write("存储过程已创建!");

运行的时候说'd_integrate' 附近有语法错误。
可是这个存储过程在SQL查询分析器中运行时并没有错啊,可以正常执行和生成结果,请大家帮忙分析一下,谢了!在线等待……
...全文
64 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
changjiangzhibin 2008-06-08
  • 打赏
  • 举报
回复

CREATE procedure creatNewTable
@tableName varchar(100) output
as
declare @sql varchar(2000)
set @sql='select * into '+@tableName +'from d_integrate'
print @sql --打印出来看看是什么
exec(@sql)
GO
anranstl 2008-06-08
  • 打赏
  • 举报
回复
恩,高人哪……
一品梅 2008-06-08
  • 打赏
  • 举报
回复
set @sql='select * into '+@tableName +' from d_integrate'
amandag 2008-06-08
  • 打赏
  • 举报
回复
慕白兄快一步..
cpp2017 2008-06-08
  • 打赏
  • 举报
回复
+'from d_integrate'

from前面应该有空格

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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