Oracle 数据库,SQL 更新语句将不起作用 (OLEDB)

2024-04-30

我设置了一个数字主键和一个存储卡车 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”:标识符无效。


使TFIN也对参数进行赋值:

    command = new OleDbCommand(
            "Update Trucks" +
            " SET Trucks.TruckInUse = ? WHERE TFIN = ?", conn);
        command.Parameters.Add(new OleDbParameter("@use", "T"));
        command.Parameters.Add(new OleDbParameter("@tfin", storeTruckSplit));
        command.ExecuteNonQuery();//Commit   

就目前情况而言,您没有在要过滤的值周围加上引号,因此查询将其视为标识符(字段、变量等)而不是常量值。由于您已经使用了“使用中”值的参数(这不是必需的,因为您提供了常量值),因此最好的解决方法是也使用过滤器的参数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Oracle 数据库,SQL 更新语句将不起作用 (OLEDB) 的相关文章

随机推荐

  • 带有 CompletableFuture 的 MDC 记录器

    我正在使用 MDC Logger 除了一种情况外 它对我来说非常适合 无论我们在代码中的何处使用 CompletableFuture 对于创建的线程 MDC 数据都不会传递到下一个线程 因此日志会失败 例如 在代码中我使用下面的代码片段来创
  • 使用适用于 IE7 和 IE8 的 jQuery 在 Facebox 中加载 FLV

    不用说 这在 Chrome Firefox 和 Safari 中完美运行 IE 任何版本 都是问题所在 客观的 我正在尝试加载 JWplayer 它会在 Facebox 弹出窗口中加载来自 S3 的 FLV jQuery document
  • 创建一个能够从容器注册表中提取的 Docker 就绪计算引擎

    我们使用 terraform 设置 GCE 实例 然后使用 ansible playbooks 来配置它们并将我们的服务转移到机器上 我正在我们的组织中运行一个项目 该项目需要从另一个项目中提取 Docker 映像 这些图像托管在另一个项目
  • 使用 Mercurial,我如何查看哪些更改尚未推送?

    我习惯了 git 你可以在其中运行 gitk 并得到如下内容 在这里您可以看到有一些更改需要推送到远程分支 或者 我可以使用git log decorate输出将是 b8c2926 refs heads next Update instru
  • FlexUnit ANT 任务挂起

    我正在使用 ANT 任务在构建服务器上运行 FlexUnit 当我从 Flash Builder 4 运行 Flex 单元测试时 它工作正常 但是当从 ANT 运行时 它会打开默认播放器 在我的例子中是 FireFox 成功运行 FU 但永
  • iPhone文本框显示光标

    我正在为 iPhone 开发一个计算器 设计类似于这样 问题是我无法在文本字段中显示光标 因为输入是通过图像等按钮进行管理的 此外 textField comeFirstResponder 不起作用 因为它显示默认键盘 所以我尝试 text
  • 如何让第一个字母像报纸风格一样推入段落

    我创建了一些 CSS 来处理段落中的第一个字母 看起来也更大 如何使第一个字母向下并向左推 这样它就不会高于该行本身 并在需要时将其他行缩进到右侧 见附图 text article color 000 text article first
  • 错误:“连接被拒绝:连接。验证连接属性

    与主机 localhost 端口 1433 的 TCP IP 连接失败 错误 连接被拒绝 连接 验证连接属性 确保 SQL Server 实例正在主机上运行并接受端口上的 TCP IP 连接 确保到该端口的 TCP 连接未被防火墙阻止 我已
  • 在 PATH 中找不到程序“make”

    我在 Eclipse 中遇到 程序 make 未在 PATH 中找到 错误 我检查了路径变量 C cygwin bin JAVA HOME bin ANT HOME bin ANDROID SDK tools ANDROID SDK pla
  • 像耐心/克朗代克纸牌游戏一样拖动节点

    我正在做克朗代克游戏 逻辑一切正常 我只是在使用 javafx 中的 UI 时遇到问题 我一直在尝试从 桌面堆 周围移动 拖动卡片 但没有达到预期的结果 我的卡片是一个 ImageView 里面有一个图像 这些卡片位于窗格内 Pane ta
  • mysql JOIN,这是如何解释的?

    如果我为 mysql 编写一条 sql 查询 并且只指定 JOIN 没有外连接 内连接 左连接等 那么默认的连接类型是什么 例如 SELECT count FROM Students p JOIN 班级 c ON p studentId c
  • yum update / apk update / apt-get update 在代理后面不起作用

    我使用代理 无法构建 Docker 映像 我尝试过FROM ubuntu FROM centos and FROM alpine but apt get update yum update apk update failed 我的主机操作系
  • 如何捕获密码提示

    我有以下代码 更新为包括 pexpect import sys import subprocess import pexpect print 0 ssh subprocess Popen ssh A t email protected cd
  • 我需要app.config吗?

    我制作了一个应用程序 它使用 Visual Studio 的 app config 来存储有关复选框状态等的设置 效果很好 我从默认目录复制了应用程序的 exe 并运行它 我忘记了 app config 文件 但它仍然正常工作 app co
  • GSON 解析空日期字段时抛出异常

    我正在使用 GSON 反序列化一些 JSON JSON 是 employee id 297 surname Maynard givenname Ron lastlogin 员工对象有一个日期字段lastlogin public class
  • 为什么不能在 HTML 输入标签中使用 \" ?

    我想表演12 3在我的输入标签值中 我写这个
  • python 中的 stdin 和 sys.argv 有什么区别? [复制]

    这个问题在这里已经有答案了 我在一次编码挑战中被扣分 该挑战指定我需要从 STDIN 读取 这是我的输入法 def init self input self dictionary with open input r as f reader
  • 如何使用 cloud-init 安装 docker?

    我想在 Openstack 中创建实例 在通过 ssh 连接之前 这些实例中已经安装了 Docker 所以我很自然地对 Cloud init 技术感兴趣 因为它允许我们在第一次启动时在虚拟机上安装软件包 所以现在我尝试在启动时在我的实例上安
  • C# 按键枚举混淆:Keys.Alt 或 Keys.RButton |键.Shift键|按键.Alt

    我正在尝试测试是否按下了 Alt 键 我有一张类似于以下的支票 private void ProcessCmdKey Keys keyData if keyData Keys Alt System Console WriteLine Alt
  • Oracle 数据库,SQL 更新语句将不起作用 (OLEDB)

    我设置了一个数字主键和一个存储卡车 FINS 的字母数字字段 它只是数字和字母的随机组合 我不生成鳍片 这些鳍片将始终与卡车车队识别号相同 这是代码视图 storeTruckSplit truckSplit 1 Stores truck F