字段列表中的未知列

2023-12-07

我正在尝试使用 Pascal 向 MySQL 插入一些信息,但是当我运行该程序时出现错误

字段列表中未知列“mohsen”

这是我的代码

procedure TForm1.Button1Click(Sender: TObject);
var
  aSQLText: string;
  aSQLCommand: string;
  namee:string;
  family:string;
begin
  namee:='mohsen';
  family:='dolatshah';
  aSQLText:= 'INSERT INTO b_tbl(Name,Family) VALUES (%s,%s)';
  aSQLCommand := Format(aSQLText, [namee, family]);
  SQLConnector1.ExecuteDirect(aSQLCommand);
  SQLTransaction1.Commit;
end;

我怎么解决这个问题?


这是因为你的

VALUES (%s,%s)

没有用引号将 namee 和 family 变量内容括起来。因此,你的后端Sql引擎认为你的mohsen是列名,而不是值。

相反,使用,例如

VALUES (''%s'',''%s'')

as in

  Namee := 'mohsen';
  Family := 'dolatshah';
  aSQLText:= 'INSERT INTO b_tbl(Name,Family) VALUES (''%s'',''%s'')';
  aSQLCommand := Format(aSQLText,[namee,family]);

在我的答案的原始版本中,我解释了如何通过在您尝试构建的 Sql 中“加倍”单引号来解决您的问题,因为在我看来,您很难看到(字面意思)有什么问题你在做。

避免问题的另一种(也是更好的)方法(也是我在现实生活中经常使用的方法)是使用QuotedStr()功能。相同的代码将变成

aSQLText := 'INSERT INTO b_tbl (Name, Family) VALUES (%s, %s)'; 
aSQLCommand := Format(aSQLText, [QuotedStr(namee), QuotedStr(family)]);

根据在线帮助:

使用 QuotedStr 将字符串 S 转换为带引号的字符串。 > 在 S 的开头和结尾处插入单引号字符 (') >,并且字符串中的每个单引号字符 > 重复。

“重复”的意思就是我所说的“加倍”。为什么这很重要,我使用 QuotedStr 的主要原因是为了避免当您要发送的值包含单引号字符时 Sql 数据库引擎抛出错误,如下所示O'Reilly.

尝试使用 MySql Workbench 将包含该名称的行添加到表中,您就会明白我的意思。

因此,使用 QuotedStr 不仅可以减少在 Delphi 代码中将 SQL 语句构造为字符串的可能性,而且还可以避免后端出现问题。

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

字段列表中的未知列 的相关文章

  • 创建rest api url以连接mysql数据库

    我想学习如何创建一个rest api url 以便我可以使用该url获取信息并将信息发布到我的mysql数据库中 谷歌搜索了很多并阅读了各种文章 但没有找到任何精确的内容可以学习 所有内容均以 about api 开头 以已创建的其余 ur
  • MySQL 中的 group_concat 性能问题

    我添加了一个group concat到一个查询并杀死了性能 添加之前和之后的解释计划是相同的 所以我对如何优化它感到困惑 这是查询的简化版本 SELECT curRow curRow 1 AS row number docID docTyp
  • VB.NET 和 MySql UPDATE 查询

    我的代码在这里没有错误 至少在我调试它时没有错误 我使用VS 2010 但我希望发生的是 当我单击添加按钮时 文本框 txtQty 中的数字将添加到当前保存在 数量 列中的数字中 例如 txtQty 100 该列上的当前值为 200 我想将
  • 无法将包含数据的大型 CSV 文件转换为 mysql 数据库[重复]

    这个问题在这里已经有答案了 如何将大型文本文件转换为mysql数据库 文件大小3GB 1100万行 文件中的每一行都是这样的 1303179444 20 5811 Ahmed Al Emam male ahmed e alemam ahme
  • 使用java在mysql中插入带有\\的文件路径

    我正在使用java制作一个独立的应用程序 并且我需要插入用户从文件选择器中选择的图像的路径 我正在获取文件的路径 但是当我将其存储在数据库 mysql 中时 它不会存储 所以当我检索该路径时 该文件不会显示 如何存储文件的路径 这样就可以使
  • 搜索多个表 (SQL)

    我需要能够有一个 SQL 查询来使用简单的搜索来搜索我的数据库 这是我的表格现在的样子 Table artists id name Table albums id artistID name Table songs id albumID n
  • 错误:SQLSTATE[HY000] [2002] 无法建立连接,因为目标计算机主动拒绝连接

    当我调试代码时突然发生错误 它有一系列关于数据库连接的错误 ERROR SQLSTATE HY000 2002 No connection could be made because the target machine actively
  • 在 Java Web 应用程序中获取 DataSource 资源

    我的 context xml 文件中有以下资源标记
  • MySQL创建表中的日期格式

    我必须使用 MySql 创建一个表 它可以按以下格式存储日期 我尝试过如下 CREATE TABLE birth date DATE 但它不起作用 因为日期格式是 YYYY MM DD 我该怎么办 谢谢 MySQL 或几乎任何其他数据库 中
  • MySQL 行级锁

    我不确定行级锁是如何工作的 但这是我的问题 我有一个表 T id int balance int engine InnoDB 我想锁定 ID 1 的行 所以我开始一个像这样的事务 start transaction select from
  • MySQL 错误“连接过多”

    我正在将 MySQL 5 0 用于由 GoDaddy linux 托管的网站 我正在对我的网络应用程序进行一些测试 突然我注意到页面刷新速度非常慢 最后 经过漫长的等待 我到达了一个页面 上面写着 MySQL 错误 连接太多 它指向我连接到
  • 比较两个表并找到匹配的列

    我有两个表 table1 和 table2 我需要编写一个选择查询 它将列出两个表中存在的列 mysql 我需要为不同的桌子做 一次2个 这可能吗 我尝试使用INFORMATION SCHEMA COLUMNS但我无法做对 SELECT a
  • PhpMyAdmin 导出不包括 mysqldump 中的主键

    用PhpMyAdmin导出同一个表的结构 DROP TABLE IF EXISTS test apprentis CREATE TABLE IF NOT EXISTS test apprentis a id smallint 10 NOT
  • 插入MYSQL时自动初始化GETDATE()

    类似问题 https stackoverflow com questions 17700239 mysql column automaticly current time of insert w3schools 也许有用的链接 http w
  • 在“GROUP BY”子句中重用选择表达式的结果?

    在 MySQL 中 我可以有这样的查询 select cast from unixtime t time Y m d H 00 as datetime as timeHour from some table t group by timeH
  • Delphi 如何与 Active Directory 集成?

    我们需要使用 Delphi 7 验证 Microsoft Active Directory 上的用户 最好的方法是什么 我们可以有两种情况 用户输入其网络用户名和密码 其中用户名可能包括域 然后我们检查活动目录是否是有效的活动用户 或者我们
  • 如何使用默认约束为mysql中的列创建随机数?

    DEFAULT 约束在接受字符串或当前日期值方面没有问题 我需要的是一个约束 每次创建实体时都会创建一个随机的 4 位数字 我尝试了以下代码 但它返回语法错误 ALTER TABLE client number ADD 代码 INT 4 D
  • phpMyAdmin - #1932 重新安装后表不存在(正在使用排序规则)

    我正在做我的论文 当我发现我的 XAMPP 服务器有一些错误日志时 所以我决定将我的 XAMPP 重新安装到更新的版本 我从 SO 中的一些线程中得 到了这个想法 我移动了我的mysql gt data文件夹并在我的新安装文件夹中再次恢复它
  • 关于mysql建表的几个问题

    CREATE TABLE favorite food person id SMALLINT UNSIGNED food VARCHAR 20 CONSTRAINT pk favorite food PRIMARY KEY person id
  • MySQL - 通过部分单词匹配和相关性评分进行高效搜索(全文)

    如何进行 MySQL 搜索 既匹配部分单词 又提供准确的相关性排序 SELECT name MATCH name AGAINST math IN BOOLEAN MODE AS relevance FROM subjects WHERE M

随机推荐

  • lex & yacc 获取当前位置

    在 lex yacc 中有一个名为 YY INPUT 的宏 可以重新定义 例如以这样的方式 define YY INPUT buf result maxlen do const int n gzread gz yyin buf maxlen
  • 使用 sed 删除最后一个换行符[重复]

    这个问题在这里已经有答案了 怎么删除最后一个 n从一个文件 该文件有一个最后一个空行为最后一个文本行中的换行符创建 我正在使用这个命令 sed s d 但那个空白行没有被删除 Why is sed打印换行符 当你读到sedPOSIX标准 然
  • 在 Android 的默认媒体播放器中显示图像

    这是我的代码 首先 我录制了一个音频文件并开始播放 用于播放音频文件 play the recorded audio public void playAudio try Intent intent new Intent android co
  • 如何将 Android Studio 项目从 Windows 传输到 Mac OS X?

    我正在尝试将 Android Studio 项目从 Windows 计算机传输到 Mac 我将进入我的 Android Studio 项目 选择整个文件夹 MyApplication 然后复制到外部硬盘驱动器 当我在 Mac 上时 我尝试在
  • @ViewScoped bean 在 JSF 中如何以及何时被销毁?

    的生命周期 RequestScoped and SessionScopedBean 管理豆由 Servlet 容器本身管理 因为它们基本上存储为HttpRequest and HttpSession分别 JSF 如何管理应用程序的生命周期
  • Bing 地图 V8 - 未捕获的引用错误:Microsoft 未定义

    我在我的应用程序中使用 bing 地图进行搜索 必应地图V8控件 我用过这个CDN 之后当我尝试使用 Microsoft Maps 时 它是在说 Uncaught ReferenceError Microsoft is not define
  • zf2 在两个不同的数据库之间建立连接

    我正在尝试使用 Zend Framework 2 在放置在不同数据库中的两个表之间进行联接 第一个表称为users并存储在数据库中admin 第二个表称为等级制度并存储在数据库中customer 我在 global php 中加载数据库适配
  • ThreeJS 中 OrbitControls 中的惯性

    我正在使用 THREE OrbitControls 来旋转我的对象 不过 我想为相机旋转添加一些惯性 如果有人停止移动鼠标 相机会在一段时间后停止 我怎样才能做到这一点 这是在 OrbitControls js 中添加惯性的非常简单的方法
  • 为什么顶部和底部边距缺失? [复制]

    这个问题在这里已经有答案了 separator border 1px solid 000000 margin 10px div span hello span span class separator span span world spa
  • 如何在java中将org.w3c.dom.Element输出为字符串格式?

    我有一个org w3c dom Element对象传递到我的方法中 我需要查看整个 xml 字符串 包括其子节点 整个对象图 我正在寻找一种可以转换的方法Element转换为 xml 格式字符串 我可以System out println在
  • 重定向 POST 请求并保留数据。可能的?

    我的问题很简单 我需要将文件直接上传到正确的服务器 当前工作负载较低 因此我这样做 然后我打印我的表格
  • CodeIgniter PHP 框架 - 需要获取查询字符串

    我正在使用创建一个电子商务网站代码点火器 我应该如何获取查询字符串 我正在使用一个Saferpay支付网关 网关响应将如下所示 http www test com registration success DATA
  • 检查消息是否是从不起作用的 DM 通道类型发送的

    我正在使用 Discord js v12 并尝试检查消息是否是从 DM 发送的 但它对我不起作用 我尝试过以下方法 if msg channel type dm 几个月前这还可以 但现在就不行了 当我尝试时console log msg c
  • JNI - 如何使用具有不同字段的多个 Jni 包装器实例?

    背景 我有一个 android 项目 它使用 JNI 使用 NDK 以 Java 和 C C 进行编码 我在java端创建了一个Jni java包装器 它将自己完成所有Jni操作 而除了这个包装器之外 没有其他java类可以直接访问jni操
  • 需要整数吗?打开()

    我有一个非常简单的 python 脚本should扫描一个文本文件 其中包含格式为的行id value 并将它们放入字典中 python 模块名为 chval py 输入文件为 in txt 这是代码 import os sys from
  • 有没有一种通用的方法可以在 SQL 中生成任意线性序列?

    我可以做一个 SQL 查询来生成一个线性序列吗 1 2 3 4 5 6 7 x 1 or 2 7 12 17 22 2 5x 其中每个数字都是结果表的一行中的一个条目 SQL Server 和 Oracle 现在实现了 ANSI 标准 RO
  • Mongoose QueryStream 新结果

    我正在尝试设置猫鼬JS当另一个应用程序将新文档插入到集合中时 推出整个集合 或只是最新的项目 我以为查询流是要走的路 但是 当我启动简单的应用程序时 它会读出一次集合 然后将其关闭 当我插入新文档时 没有任何反应 假设连接不再打开并寻找新结
  • 使用 jaxb (unmarshal) 将 xml 转换为 java 对象

    我有以下 XML 我需要将其转换为 java 对象
  • 在 Twig 上执行闭包

    我正在尝试执行驻留在 Twig 模板上的数组内的闭包 您可以在下面找到我正在尝试的简化片段 Symfony controller funcs array conditional gt function obj return obj gt g
  • 字段列表中的未知列

    我正在尝试使用 Pascal 向 MySQL 插入一些信息 但是当我运行该程序时出现错误 字段列表中未知列 mohsen 这是我的代码 procedure TForm1 Button1Click Sender TObject var aSQ