日期:2014-05-18  浏览次数:20393 次

这个存储过程错哪了?
以下是我建立的一个存储过程用来复制一个表到另一个表中,表名由用户输入:
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查询分析器中运行时并没有错啊,可以正常执行和生成结果,请大家帮忙分析一下,谢了!在线等待……


------解决方案--------------------
+'from d_integrate' 

from前面应该有空格
------解决方案--------------------
慕白兄快一步..
------解决方案--------------------
set @sql='select * into '+@tableName +' from d_integrate'