解决方案 »

  1.   

    '+@tablename+' 改成 @tablename 试试
      

  2.   

    纠正下
    execute('create table '+@tablename+' (id int identity(1,1),name varchar(50))') 是可以的,注意@tablename是表名要以字母开头就OK了
      

  3.   


    string ss = DateTime.Now.ToString();
                string str = "Data Source=.;uid=sa;pwd=1107;Integrated Security=SSPI;database=05-08-2014;Integrated Security=True";
                conn = new SqlConnection(str);
                if (conn.State == ConnectionState.Closed)
                {
                    conn.Open();
                }
                SqlCommand cmd = new SqlCommand("create_table '" , conn);
                cmd.CommandType=CommandType.StoredProcedure;
                cmd.Parameters.Add("tablename");
                cmd.Parameters["tablename"]..Direction = ParameterDirection.Input;
                cmd.Parameters["tablename"].Value = ss;
                cmd.ExecuteNonQuery();
      

  4.   

    SqlCommand cmd = new SqlCommand("create_table " , conn);
    这多了个单引号,存储过程名字用双引号引起来就OK了
      

  5.   


      cmd.Parameters.Add("tablename",SqlDbType.NVarChar); 这句漏了个参数类型。