相关的代码节选如下,个人感觉问题出在红色的部分。指针定义,数据连结都没有问题。把红色部分的代码改为insert就没错。非常奇怪,不知道是不是自己的格式写得有问题。错误提示:非法的变量名/编号 :
OracleCommand cmd = new OracleCommand(); OracleParameter pFIRST_NAME = new OracleParameter();
pFIRST_NAME.OracleDbType = OracleDbType.Varchar2;
pFIRST_NAME.Value = textBox2.Text; cmd.Connection = conn; cmd.Parameters.Add(pFIRST_NAME);
try
{ cmd.CommandText = "update EMPLOYEES_HY_216 set (FIRST_NAME) =:pFIRST_NAME where EMPLOYEE_id = " + comboBox1.Text;
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show("数据更新发生了如下错误:" + ex.Message);
}
finally
{
MessageBox.Show("处理完毕!");
cmd.Dispose();
}
OracleCommand cmd = new OracleCommand(); OracleParameter pFIRST_NAME = new OracleParameter();
pFIRST_NAME.OracleDbType = OracleDbType.Varchar2;
pFIRST_NAME.Value = textBox2.Text; cmd.Connection = conn; cmd.Parameters.Add(pFIRST_NAME);
try
{ cmd.CommandText = "update EMPLOYEES_HY_216 set (FIRST_NAME) =:pFIRST_NAME where EMPLOYEE_id = " + comboBox1.Text;
cmd.CommandType = CommandType.Text;
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
MessageBox.Show("数据更新发生了如下错误:" + ex.Message);
}
finally
{
MessageBox.Show("处理完毕!");
cmd.Dispose();
}
将
OracleParameter pFIRST_NAME = new OracleParameter();
改成
OracleParameter pFIRST_NAME = new OracleParameter("pFIRST_NAME",OracleDbType.Varchar2);
试试,
下面一行pFIRST_NAME.OracleDbType = OracleDbType.Varchar2;就不需要了
pFIRST_NAME.OracleDbType = OracleDbType.Varchar2;
pFIRST_NAME.Value = textBox2.Text;这是参数吧,怎么没有设置值 ?
怎么不设置名称,不设置名称它怎么给你替换呢?
为何混合 传入参数?
用一种就可以了。
如果是varchar类型,加单引号界定试试
OracleParameter pFIRST_NAME = new OracleParameter("pFIRST_NAME",OracleDbType.Varchar2);
就可以了~