protected void btnSubmit_Click(object sender, EventArgs e)
    {
        int i = userNameValidate();
        if (i == 0)
        {
            OleDbConnection conn = new OleDbConnection(ConfigurationManager.AppSettings["DBConnectionString"]); //创建数据库连接对象
            /*
            OleDbCommand insertCmd = new OleDbCommand("insert into users(userid,userpwd,username,usersex,userphone,usermobilephone,usercode,useraddress,useremail,userqq) values('222','222222','22222','男','   1','     1','   ','   1','[email protected]','   ')", conn);
            */            OleDbCommand insertCmd = new OleDbCommand("insert into users(userid,userpwd,username,usersex,userphone,usermobilephone,usercode,useraddress,useremail,userqq) values(@UserID,@UserPW,@UserName,@UserSex,@UserPhone,@UserMobilePhone,@UserCode,@UserAddress,@UserEmail,@UserQQ)", conn);            insertCmd.Parameters.Add("@UserID", OleDbType.VarChar, 15);    //cmd对象添加参数
            insertCmd.Parameters.Add("@UserPWD", OleDbType.VarChar, 20);
            insertCmd.Parameters.Add("@UserName", OleDbType.VarChar, 20);
            insertCmd.Parameters.Add("@UserSex", OleDbType.VarChar, 2);
            
            insertCmd.Parameters.Add("@UserPhone", OleDbType.VarChar, 15);
            insertCmd.Parameters.Add("@UserMobilePhone", OleDbType.VarChar,  );
            insertCmd.Parameters.Add("@UserCode", OleDbType.VarChar, 6);
            insertCmd.Parameters.Add("@UserAddress", OleDbType.VarChar, 200);
            insertCmd.Parameters.Add("@UserEmail", OleDbType.VarChar, 100);
            insertCmd.Parameters.Add("@UserQQ", OleDbType.VarChar, 20);            insertCmd.Parameters["@UserID"].Value = UserID.Text.ToString();   //给参数赋值
            insertCmd.Parameters["@UserPWD"].Value = UserPWD.Text.ToString();
            insertCmd.Parameters["@UserName"].Value = UserName.Text.ToString();
            insertCmd.Parameters["@UserSex"].Value = UserSex.Text.ToString(); 
            insertCmd.Parameters["@UserPhone"].Value = UserPhone.Text.ToString();
            insertCmd.Parameters["@UserMobilePhone"].Value = UserMobilePhone.Text.ToString();
            insertCmd.Parameters["@UserCode"].Value = UserCode.Text.ToString();
            insertCmd.Parameters["@UserAddress"].Value = UserAddress.Text.ToString();
            insertCmd.Parameters["@UserEmail"].Value = UserEmail.Text.ToString();
            insertCmd.Parameters["@UserQQ"].Value = UserQQ.Text.ToString(); 
            
            try
            {
                conn.Open();    //打开连接
                int flag = insertCmd.ExecuteNonQuery(); //执行插入
                if (flag > 0)
                {
                    //Response.Redirect("Login.aspx");
                    Response.Write("<script language = javascript > alert('注册成功!')</script>");
                }
                else
                {
                    Response.Write("<script language = javascript > alert('注册失败!')</script>");
                }
            }
            catch (System.Exception ee)
            {
                Response.Write("<stript language=javascript>alert('" + ee.Message.ToString() + "')</script>");
            }
            finally
            {
                conn.Close();   //关闭连接
            }
        }
    }问题:把那些变量都注释掉,用注释掉的那句常量执行无错误,但是用常量执行就报  'ORA-00936: 缺失表达式'  的错误不知道是什么原因,特来请教,谢谢了!

解决方案 »

  1.   

    应该就是 OleDbCommand insertCmd = new OleDbCommand("insert into users(userid,userpwd,username,usersex,userphone,usermobilephone,usercode,useraddress,useremail,userqq) values(@UserID,@UserPW,@UserName,@UserSex,@UserPhone,@UserMobilePhone,@UserCode,@UserAddress,@UserEmail,@UserQQ)", conn); 这句的错误,但是我不知道应该是怎么写
      

  2.   

    ('222','222222','22222','男','   1','     1','   ','   1','1@1.com','   ')insertCmd.Parameters.Add("@UserMobilePhone", OleDbType.VarChar,  ); 
      

  3.   

    可能是 你定义的数据类型,与你赋值的数据类型不一致,把定义的类型改为string类型的