【发布时间】:2015-03-06 16:11:51
【问题描述】:
我设置了一个数字主键和一个存储卡车 FINS 的字母数字字段,这只是数字和字母的随机组合。我不生成翅片,这些翅片将始终与卡车车队识别号相同。
这里是代码视图:
storeTruckSplit = truckSplit[1];//Stores truck FIN
//Update truck value
try
{
conn.Open();
OleDbCommand command;
command = new OleDbCommand(
"Update Trucks" +
" SET Trucks.TruckInUse = ? WHERE TFIN = " + storeTruckSplit.ToString(), conn);
command.Parameters.Add(new OleDbParameter("@use", "T"));
command.ExecuteNonQuery();//Commit
conn.Close();
}
catch (OleDbException exception)
{
MessageBox.Show(exception.Message, "OleDb Exception");
}
这是表格视图:
CREATE TABLE Trucks
(
TruckID number(9) CONSTRAINT TRUCK_PK PRIMARY KEY,
TFIN char(9) NOT NULL,
TruckCategory varchar(80) NOT NULL,
TruckCodeName varchar(50) NOT NULL,
MaxWeight number(10) NOT NULL,
TruckSize number(10) NOT NULL,
TruckInUse varchar(1) NULL
);
对于TRUCKID,在此表上插入之前还有一个序列和触发器。
我收到了ORA-00904,注意这显示了C6977734D,这是一个用于更新的 where 子句的卡车尾翼。
确切消息:
“在处理命令期间发生了一个或多个错误。 ORA-00904: "C6977734D": 无效的标识符。
【问题讨论】: