问题标签 [mysql-connector]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
9176 浏览

c++ - MySQL 连接器/C++ 库链接错误问题

问题:

好的,我一直在尝试遵循 MySQL Forge Wiki 和其他一些网站上的示例代码,这些网站提供了有关如何获得简单数据库连接的教程,但由于某种原因,我的项目总是因链接错误而失败,我可以'不弄清楚为什么或如何自己解决它(我还在学习)。请帮我!我在项目属性中包含了头文件所需的路径目录,并为 MySQL Connector/C++ 中使用的 lib 文件提供了路径目录。如果有人可以就如何修复它给我一个有用的提示/评论,我正在使用的代码如下。我认为这与连接到 lib 文件有关(因为链接错误),但我不知道解决它的方法。有没有其他人遇到过这样的麻烦?

http://forge.mysql.com/wiki/Connector_C++ http://dev.mysql.com/tech-resources/articles/mysql-connector-cpp.html#createdb

代码:

错误输出:

更新:

我只是想让大家知道我终于找到了解决问题的方法。对于遇到类似问题的任何人,请访问http://blog.ulf-wendel.de/?p=215#hello并阅读有关如何动态连接到 mysqlcppconn.lib 的说明。我的问题是设置实际环境,以便正确连接到库,本教程帮助极大!

0 投票
2 回答
867 浏览

.net - 如何修改 MySQL 连接器的源代码并将其安装在我的 PC 上?

简而言之,为了修改连接器的来源并将其安装在 Windows 中需要采取哪些步骤?

我的机器上安装了 MySQL 连接器/.NET 版本 6.1.2,但每个 DateTime 都出现异常,值为“0000-00-00”。此异常破坏了我的应用程序。

作为我的解决方案,我下载了连接器的源代码并更改了异常,以便它不会抛出异常,而是返回日期“0001-01-01 00:00:00”。虽然我能够修改代码甚至编译 DLL(注意:我注释掉了对 ConnectorNet 的程序集引用),但我不知道如何将 dll 安装到我的计算机上。显然我不能简单地替换全局程序集缓存中的 DLL,因为我的自定义 DLL 不是强类型的。

总而言之,为了修改连接器的源并将其安装在 Windows 中需要采取哪些步骤?

谢谢。

0 投票
1 回答
1575 浏览

c++ - 将行插入非空表时,mySql 连接器异常(mysql 的 C++ 库)

我根本没有做过太多的数据库编程。我正在使用一些示例代码来使用 MySQL Connector/C++。

当我运行以下代码时,我在某些 std::string 代码的最后一行出现崩溃 - 但只有在表不为空时才会崩溃。如果表是空的,它会插入行并且工作正常。如果表不为空,则会崩溃。我很困惑。主键或其他值有什么问题吗?(此处列名已更改,否则代码是逐字记录)

当我查看 std::string 模板代码中的变量时(我几乎看不到),我没有看到我试图插入的任何熟悉的数据值 - 所以这根本没有帮助。我看到像“HY000”这样的字符串值,但我不确定它来自哪里。

最初我认为它可能是日期字符串,但代码在空表上工作正常,然后在非空时崩溃。这表明日期字符串工作正常。

这是在使用 Visual Studio 2008 的 MS 平台上。

数据库已启动并正在运行,我可以使用其他数据库查询工具查看表等。

编辑:

我看到了我得到的 mysql 异常:

“使用不支持的缓冲区类型:4191960(参数:3)”errno 2036

编辑:

我不确定接受的答案是否完全正确,但它帮助我找到了解决方案。基本上我删除了所有非空属性,取出零填充并将主键设置为自动递增。现在它工作正常

0 投票
1 回答
3449 浏览

c++ - 如何使用 Connector/C++ 在 MySQL 中更新一行中的值

我有一个简单的数据库,想更新一个 int 值。我最初做一个查询并取回一个 ResultSet (sql::ResultSet)。对于结果集中的每个条目,我想修改表的一个特定列中的值,然后将其写回数据库/更新该行中的条目。

根据文档,我不清楚如何做到这一点。我不断看到“插入”语句以及更新 - 但我认为这不是我想要的 - 我想保持大部分数据行不变 - 只需更新一列。

有人可以指出一些示例代码或其他明确的参考/资源吗?

编辑:

或者,有没有办法告诉数据库更新特定字段(行/列)以将 int 值增加某个值?

编辑:

那么人们从 C++ 使用 MySQL 的典型方式是什么?使用 C api 还是 mysql++?我想我选择了错误的 API ......

0 投票
1 回答
502 浏览

.net - 如何连接到 .NET 中的远程 mysql 服务器?

我在 VMWare 中使用 ubuntu。我安装了mysql并让它运行。我可以使用用户 root 和密码登录。我有VM盒子的IP。在我写的代码中

使用 MySql.Data;return new MySql.Data.MySqlClient.MySqlConnection("username=root;data source=192.168.100.129,password=xyz");

而不是数据源,我也尝试了服务器。我收到异常消息Unable to connect to any of the specified MySQL hosts.

我跑了netstat -an | grep -i mysql,看到了 unix 2 [ ACC ] STREAM LISTENING 23404 /var/run/mysqld/mysqld.sock

所以我添加了端口=23404;并尝试了data sourceserver。没运气。我确实可以在虚拟机上 ping 该地址(我使用 ifconfig 获得了地址)。那么我的问题是什么,我该如何连接?这是我第一次使用这个。我过去总是使用 sqlite。

0 投票
4 回答
21572 浏览

sql - MySQL:删除左连接上的重复列,3 个表

我有一个使用 3 个外键进入其他表的表。当我执行左连接时,我得到重复的列。MySQL 表示该USING语法将减少重复列,但没有多个键的示例。

鉴于:

我的查询语句:

我的目标是从连接中获取所有列中的一行,而没有重复的列。我正在使用 MySQL C++ 连接器发送 SQL 语句并检索结果集。我相信 C++ 连接器存在重复列名的问题。

那么我应该使用什么 SQL 语句语法呢?

参考 MySQL JOIN 语法

0 投票
6 回答
76983 浏览

java - 使用 Java 通过 SSH 连接到远程 MySQL 数据库

如何从 java 应用程序通过 SSH 连接到远程 MySQL 数据库?小代码示例对我很有帮助,我将不胜感激。

0 投票
2 回答
124 浏览

mysql - 迭代 1 到多个表时丢失结果

我的困境是我在访问外键表时从主表中丢失了我的 ResultSet。我需要在查询另一个表时保存第一个表查询的结果。

Scenerio:
我正在实施一个食谱数据库系统。每个食谱可以有 1 到多种成分。为了解决一对多的关系,我为成分创建了一个单独的表。

我有一张食谱表:

和成分表:

在我的程序中,我有一个包含成分向量的食谱对象:

为了对表中的配方执行每次迭代,我必须从数据库中加载它。要完成食谱,我必须加载与食谱相关的所有成分。

问题是当我加载成分时,我丢失了食谱的结果集。MySQL 连接器 C++一次只能处理一个结果集。我在复制结果时也没有运气(当表大小增加时,我可能不想加载整个结果)。

那么,当我从配料表中搜索和加载时,如何维护指向配方表的光标或指针?

这是我想做的事情:

  1. 对于表中的每个食谱,请执行以下操作:
  2. 将配方结果行数据读入配方变量。
  3. 使用配方 ID 选择所有配方,其中 Recipe.ID_Recipe = Ingredient.ID_Recipe。
  4. 将成分表中的结果加载到配方变量的向量中。
  5. 将配方对象传递给回调函数。
  6. 前进到表中的下一个食谱。
  7. 结束

在此先感谢您的任何建议。
(我正在使用 MySQL、MySQL 连接器 C++、Visual Studio 2008 - C++)

0 投票
3 回答
2664 浏览

mysql - 从 MySQL 引发一个事件并从 VB.NET(或类似的东西)处理它?

我正在使用 MySQL 5.1.39 和 Visual Studio 2008,并使用 MySQL Connector Net 6.1.2 连接它们。

我想做的是,一旦创建了 MySqlConnection 对象,就能够在给定表中特定行中的字段更新时处理“引发的事件”。

我的意思是,当该表中的值已从任何其他应用程序手动更改或修改时,我想在我打开的 VB.NET 应用程序中接收一个信号。到目前为止,我从打开的 VB.NET 应用程序中每隔 X 秒检查一次该表,但我想知道它是否可以以更好的方式完成。

非常感谢您的关注和时间。

0 投票
1 回答
572 浏览

mysql - MySQL:追加记录:查找然后追加或仅追加

我正在用 C++ 编写一个程序,以通过 MySql C++ 连接器访问 MySQL 中的表。

我从用户(通过 GUI 或 Xml 文件)检索记录。

以下是我的问题:

  1. 我是否应该先在表中搜索给定的记录,如果不存在则追加,

  2. 或者追加记录,如果记录是唯一的,让MySQL追加记录?

这是我的示例表:

根据判断,我正在寻找一种解决方案,使我的程序能够快速响应用户。

在开发过程中,我有一些小表(少于 5 条记录),但我希望在我正式发布应用程序时它们会增长。

仅供参考:我在 Windows XP 和 Vista 上使用 Visual Studion 2008、C++、wxWidgets 和 MySQL C++ 连接器。