declare @i datetime
set @i = getdate()
exec CreateUser
'121121',
'121121',
@i,
''

解决方案 »

  1.   

    exec CreateUser
    '121121',
    '121121',
    GetDate,
    ''
      

  2.   

    可能与定义的smalldatetime有关系
      

  3.   

    是 smalldatetime 时间类型引起的
    你 getdate() 和DateTime.Now 所得的时间都是长时间格式
      

  4.   

    默认情况下,存储过程的参数只能代替常量,而不能用于代替表名、列名或其它数据库对象的名称。getdate()是一个非确定性函数,不是常量。
      

  5.   

    谢谢上面的兄弟们
    SqlParameter[] p ={ 

    new SqlParameter("@LastLoginTime",SqlDbType.SmallDateTime),
    };
    p[2].Value = DateTime.Now();
    这样传的应该是SmallDateTime格式呀,错误说是:
    将参数值从 String 转换到 DateTime 失败。
      

  6.   

    p[2].Value = DateTime.Now;
    错误了,是这个