EXEC Up_tree_manage_Add 0,'人大校区','人民大学校区','admin','xiaoqu_anage'其中参数有下划线就报错.

解决方案 »

  1.   

     Up_tree_manage_Add这个过程的代码是什么
      

  2.   

    CREATE PROCEDURE Up_tree_manage_Add @selectID int,@Name varchar(100),@notes varchar(500),@creater varchar(100),@tablename varchar(50)
    AS
    declare @IDTemp int,@parent varchar(100),@sql varchar(1000)
    set @sql='insert into ['+@tablename+'](_name,creater,notes) values(@Name,@creater,@notes)'
    exec(@sql)
    select @IDTemp=@@IDENTITY 
    if(@selectID=0)--选择的是最高级别begin
    set @sql='update ['+@tablename+'] set Path='''+@IDTemp+''|' where ID='+@IDTemp
    print @sql
    exec(@sql)
    end elsebegin
    set @sql='select '+@parent+'=Path from ['+@tablename+'] where ID='+@selectID
    exec(@sql)
    set @sql='update ['+@tablename+'] set parentPath='''+@parent+'|'' where ID='+@IDTemp
    exec(@sql)
    set @sql='update ['+@tablename+'] set Path='''+@parent+'|'+@IDTemp+'|'' where ID='+@IDTemp
    exec(@sql)
    end
    GO 
      

  3.   

    CREATE PROCEDURE Up_tree_manage_Add @selectID int,@Name varchar(100),@notes varchar(500),@creater varchar(100),@tablename varchar(50)
    AS
    declare @IDTemp int,@parent varchar(100),@sql varchar(1000)
    set @sql='insert into ['+@tablename+'](_name,creater,notes) values(@Name,@creater,@notes)'
    exec(@sql)
    select @IDTemp=@@IDENTITY 
    if(@selectID=0)--选择的是最高级别begin
    set @sql='update ['+@tablename+'] set Path='''+@IDTemp+''|' where ID='+@IDTemp
    print @sql
    exec(@sql)
    end elsebegin
    set @sql='select '+@parent+'=Path from ['+@tablename+'] where ID='+@selectID
    exec(@sql)
    set @sql='update ['+@tablename+'] set parentPath='''+@parent+'|'' where ID='+@IDTemp
    exec(@sql)
    set @sql='update ['+@tablename+'] set Path='''+@parent+'|'+@IDTemp+'|'' where ID='+@IDTemp
    exec(@sql)
    end
    GO 
      

  4.   

    CREATE PROCEDURE Up_tree_manage_Add @selectID int,@Name varchar(100),@notes varchar(500),@creater varchar(100),@tablename varchar(50) 
    AS 
    declare @IDTemp int,@parent varchar(100),@sql varchar(1000) 
    set @sql='insert into ['+@tablename+']([_name],creater,notes) values(@Name,@creater,@notes)' --加个[]试下
    exec(@sql) 
    select @IDTemp=@@IDENTITY 
    if(@selectID=0)--选择的是最高级别 begin 
    set @sql='update ['+@tablename+'] set Path='''+@IDTemp+''|' where ID='+@IDTemp 
    print @sql 
    exec(@sql) 
    end else begin 
    set @sql='select '+@parent+'=Path from ['+@tablename+'] where ID='+@selectID 
    exec(@sql) 
    set @sql='update ['+@tablename+'] set parentPath='''+@parent+'|'' where ID='+@IDTemp 
    exec(@sql) 
    set @sql='update ['+@tablename+'] set Path='''+@parent+'|'+@IDTemp+'|'' where ID='+@IDTemp 
    exec(@sql) 
    end 
    GO