ORA-01858: 在 xp.executenonquery() 上应为数字的位置发现了非数字字符
ORA-01858: a non-numeric character was found where a numeric was expected on xp.executenonquery()
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();
插入一行成功。
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();
插入一行成功。