ORA-01858: 在 xp.executenonquery() 上应为数字的位置发现了非数字字符

ORA-01858: a non-numeric character was found where a numeric was expected on xp.executenonquery()

datatypes in embedded image

            OleDbCommand xp = new OleDbCommand("insert into personal_details (applicationid,firstname,middlename,lastname,gender,dob,nationality,emailid,phoneno) values (?,?,?,?,?,?,?,?,?)", conn);
            xp.CommandType = CommandType.Text;
            xp.Parameters.AddWithValue("applicationid", flag);
            xp.Parameters.AddWithValue("firstname", fname.Text);
            xp.Parameters.AddWithValue("middlename", mname.Text);
            xp.Parameters.AddWithValue("lastname", lname.Text);
            if (radioButton1.Checked == true)
                xp.Parameters.AddWithValue("gender", radioButton1.Text);
            if (radioButton2.Checked == true)
                xp.Parameters.AddWithValue("gender", radioButton2.Text);
            if (radioButton3.Checked == true)
                xp.Parameters.AddWithValue("gender", radioButton3.Text);
            String date1 = date.Value.ToString() + "-" + month.SelectedItem.ToString() + "-" + year.Value.ToString();
            xp.Parameters.AddWithValue("dob", date1);//add date
            xp.Parameters.AddWithValue("nationality", nationality.Text);
            xp.Parameters.AddWithValue("emailid", email.Text);
            xp.Parameters.AddWithValue("phoneno", mobile.Text);
            conn.Open();
            xp.ExecuteNonQuery();
            conn.Close(); flag++; 

注意:使用 oracle 11g Express 数据库 我尝试了很多排列和组合,例如使用 [:,@,&] 太沮丧了。请帮忙。 肯定没有连接字符串错误

验证之前要插入的值,你的代码似乎是正确的,我已经检查过了。

create table personal_details (
applicationid number,
firstname nvarchar2(10),
middlename nvarchar2(10),
lastname nvarchar2(10),
gender nvarchar2(10),
dob date,
nationality nvarchar2(10),
emailid nvarchar2(10),
phoneno nvarchar2(10)
);

在 C# 中

    OleDbConnection conn = new OleDbConnection(sConnectionString);
    OleDbCommand xp = new OleDbCommand("insert into personal_details (applicationid,firstname,middlename,lastname,gender,dob,nationality,emailid,phoneno) values (?,?,?,?,?,?,?,?,?)", conn);
    xp.CommandType = CommandType.Text;
    xp.Parameters.AddWithValue("applicationid", 1);
    xp.Parameters.AddWithValue("firstname", "1");
    xp.Parameters.AddWithValue("middlename", "1");
    xp.Parameters.AddWithValue("lastname", "1");
    xp.Parameters.AddWithValue("gender", "1");
    xp.Parameters.AddWithValue("dob", DateTime.Today);//add date
    xp.Parameters.AddWithValue("nationality", "1");
    xp.Parameters.AddWithValue("emailid", "1");
    xp.Parameters.AddWithValue("phoneno", "1");
    conn.Open();
    xp.ExecuteNonQuery();
    conn.Close();

插入一行成功。