假设表叫ZR,
我在sqlserver写存储过程:
CREATE PROCEDURE alterAR
@aa varchar(10)
AS
alter table ZR add aa varchar(30)
GO在asp.net里写
string strconn= ConfigurationSettings.AppSettings["dsn"];
SqlConnection cnn= new SqlConnection (strconn);
SqlCommand cmm=new SqlCommand ("alterAR",cn);
cmm.Parameters .Add ("@aa",SqlDbType.NVarChar,30);
cmm.Parameters ["@aa"].Value =tbx_cname.Text.ToString();
cmm.ExecuteNonQuery();
cn.Close() ;
BindGrid();可是总显示“alterAR”附近有错误
求助,多谢!

解决方案 »

  1.   

    代码中加入cmm.CommandType=CommandType.StoredProcedure;
    因为你没有把命令类型改为存储过程
      

  2.   

    代码中加入cmm.CommandType=CommandType.StoredProcedure;
    因为你没有把命令类型改为存储过程
      

  3.   

    代码中加入cmm.CommandType=CommandType.StoredProcedure;
    因为你没有把命令类型改为存储过程
      

  4.   

    加上了cmm.CommandType=CommandType.StoredProcedure;
    还是不行,显示“过程 alterAR 没有参数,但却为该过程提供了参数。”我把存储过程改成
    CREATE PROCEDURE alterAR
    AS
    alter table  @ZR add aa varchar(30)
    GO
    (就是加了一个@)
    可是sqlserver报错请教,多谢!
      

  5.   

    CREATE PROCEDURE alterAR
    @aa varchar(10)
    AS
    alter table ZR add aa varchar(30)//改為alter table ZR add @aa varchar(30)
    GO
      

  6.   

    我就是写的:
    CREATE PROCEDURE alterAR
    @aa varchar(10)
    ASalter table ZR add @aa varchar(30)
    GO它说'@aa'附近有语法错误
      

  7.   

    拜托大家帮我看看,多谢了!
    真不知道错误在哪里:CREATE PROCEDURE alterAR
    @aa varchar(10)
    AS
    alter table ZR add @aa varchar(30)
    GO