SqlCommand sqlcom = new SqlCommand();
            sqlcom.Connection = sqlconn;
            sqlcom.CommandText = "INSERT INTO User(UserName,NickName,RealName,Birthday,qq,Eemail,Photo,SpaceUrl,Msn,LastLoginTime,Intruduce,Score,UserStatus,UserLock,UserOnlineTime,UserLevel,UserTypeId,Sex,RegisterTime,Professional) 
            VALUES( @UserName,@NickName,@RealName,@Birthday,@qq,@Email,@Photo,@SpaceUrl,@Msn,@LastLoginTime,@Intruduce,@Score,@UserStatus,@UserLock,@UserOnlineTime,@UserLevel,@UserTypeId,@Sex,@RegisterTime,@Professional)";
            sqlcom.Parameters.AddWithValue("@UserName", TextBox1.Text);
            sqlcom.Parameters.AddWithValue("@NickName", TextBox2.Text);
            sqlcom.Parameters.AddWithValue("@RealName", TextBox3.Text);
            sqlcom.Parameters.AddWithValue("@Birthday", TextBox7.Text);
            sqlcom.Parameters.AddWithValue("@qq", TextBox6.Text);
            sqlcom.Parameters.AddWithValue("@Email", TextBox8.Text);
            sqlcom.Parameters.AddWithValue("@SpaceUrl", "");
            sqlcom.Parameters.AddWithValue("@Msn","");
            sqlcom.Parameters.AddWithValue("@LastLoginTime",null);
            sqlcom.Parameters.AddWithValue("@Photo", FileUpload1.FileName);
            sqlcom.Parameters.AddWithValue("@Score", 0);
            sqlcom.Parameters.AddWithValue("@UserStatus", "offline");
            sqlcom.Parameters.AddWithValue("@UserLock", 0);
            sqlcom.Parameters.AddWithValue("@UserOnlineTime","");
            sqlcom.Parameters.AddWithValue("@UserLevel", 0);
            sqlcom.Parameters.AddWithValue("@UserTypeId",1);
            sqlcom.Parameters.AddWithValue("@RegisterTime", DateTime.Now);
            sqlcom.Parameters.AddWithValue("@Professional", "");
            sqlcom.Parameters.AddWithValue("@Intruduce", TextBox9.Text);
            sqlcom.Parameters.AddWithValue("@Password", TextBox4.Text);
            sqlcom.Parameters.AddWithValue("@Sex", DropDownList1.Text);
运行时提示关键字User附近有错误

解决方案 »

  1.   

    User (UserName
    中间少空格
      

  2.   

    不行,提示:出错:关键字 'User' 附近有语法错误。 
      

  3.   

    建议在sql中测试一下插入代码。
      

  4.   

    对照一下User表字段名字有无写错
    大小写之类的
      

  5.   

    试试
    INSERT INTO [User]
    如果每一个列都插入值可以省略下面这一行,直接写values()/*(UserName,NickName,RealName,Birthday,qq,Eemail,Photo,SpaceUrl,Msn,LastLoginTime,Intruduce,Score,UserStatus,UserLock,UserOnlineTime,UserLevel,UserTypeId,Sex,RegisterTime,Professional)  */
      

  6.   

    Eemail
    @Emailsqlcom.Parameters.AddWithValue("@Password", TextBox4.Text);
    command语句里没有Password字段???
    需要仔细检查大小写拼写和字段名称的对应
      

  7.   

    "INSERT INTO User(UserName,NickName,RealName,Birthday,qq,Eemail,Photo,SpaceUrl,Msn,LastLoginTime,Intruduce,Score,UserStatus,UserLock,UserOnlineTime,UserLevel,UserTypeId,Sex,RegisterTime,Professional)  
      VALUES( @UserName,@NickName,@RealName,@Birthday,@qq,@Email,@Photo,@SpaceUrl,@Msn,@LastLoginTime,@Intruduce,@Score,@UserStatus,@UserLock,@UserOnlineTime,@UserLevel,@UserTypeId,@Sex,@RegisterTime,@Professional)";
    Email
      

  8.   

    好了,EMAIL有错,还有个列名标错了,谢谢各位
      

  9.   

    表名user 是关键字,要用[]包起来吧
      

  10.   

    INSERT INTO [User](UserName,NickName,RealName,Birthday,qq,Eemail,Photo,SpaceUrl,Msn,LastLoginTime,Intruduce,Score,UserStatus,UserLock,UserOnlineTime,UserLevel,UserTypeId,Sex,RegisterTime,Professional) ...
      

  11.   

    insert into [User]...........
      

  12.   

    楼上都是正解,但温馨提示下:user在SQL里是关键字,LZ最好拿[]括起来。
      

  13.   


    INSERT INTO User(UserName,NickName,RealName,Birthday,qq,Eemail,Photo,SpaceUrl,Msn,LastLoginTime,Intruduce,Score,UserStatus,UserLock,UserOnlineTime,UserLevel,UserTypeId,Sex,RegisterTime,Professional)  
      VALUES( @UserName,@NickName,@RealName,@Birthday,@qq,@Email,@Photo,@SpaceUrl,@Msn,@LastLoginTime,@Intruduce,@Score,@UserStatus,@UserLock,@UserOnlineTime,@UserLevel,@UserTypeId,@Sex,@RegisterTime,@Professional)";sqlcom.Parameters.AddWithValue("@Password", TextBox4.Text);
    我确信楼主少个password参数、但是这跟楼主的错误提示没有关系