Tag: mysql

在查询中将DateTime.Ticks转换为MySQL DateTime

我在MySql中有一个存储DateTime.Ticks的整数列。 单个刻度表示一百纳秒或一千万分之一秒。 一毫秒内有10,000个刻度。 此属性的值表示自0001年1月1日午夜12:00:00起经过的100纳秒间隔的数量 如何在查询中将其转换为DateTime? 我尝试了很多东西,但无法让它发挥作用。 对于ticks 634128921500016150我希望得到mysql datetime’2010-06-23 12:06:50′ 我相信以下内容应该有效,但它给出’4009-06-22 12:15:50.001600’。 看起来它已经过了2001年,1天9分钟……如果年份和日期一致,我可以手动修复它,但分钟似乎有些奇怪。 SELECT DATE_ADD(‘0000-01-01 00:00:00’, INTERVAL 634128921500016150/10000000 SECOND_MICROSECOND); 我尝试添加更多零,但它永远不会匹配:| 我也尝试了Jon Skeet的建议,但它给出了几乎相同的结果(不同的一小部分)

虽然在IDataReader.Read上不能使用yield return,但读取器上的foreach会有效

这是一种常见的ADO.NET模式,使用数据读取器从数据库中检索数据,但奇怪的是不起作用。 不起作用: public static IEnumerable SelectDataRecord(string query, string connString) where T : IDbConnection, new() { using (var conn = new T()) { using (var cmd = conn.CreateCommand()) { cmd.CommandText = query; cmd.Connection.ConnectionString = connString; cmd.Connection.Open(); using (var reader = (DbDataReader)cmd.ExecuteReader()) { // the main part while (reader.Read()) { yield return (IDataRecord)reader; } } } } […]

C#MySQL参数:? 要么 @

我对MySQL参数感到困惑。 我的代码的以下两部分都可以正常工作。 第一个使用@参数: const string query = “UPDATE `items` SET `name` = @name, `price` = @price WHERE `id` = @id”; try { using (MySqlCommand cmd = new MySqlCommand(query, Database.MyConnection)) { cmd.Parameters.AddWithValue(“name”, name); cmd.Parameters.AddWithValue(“price”, price); cmd.Parameters.AddWithValue(“id”, id); cmd.ExecuteNonQuery(); } } 第二个使用参数? : const string query = “UPDATE `items` SET `name` = ?name, `price` = ?price WHERE […]

我应该在哪里存储数据库连接字符串?

我在C#+ WPF + MySQL中创建了一个应用程序。 存储数据库连接字符串的最佳(最安全)方法是什么?

C#:SQL查询构建器类

我在哪里可以找到一个好的SQL Query构建器类。 我只需要一个简单的类来构建一个SQL字符串,就是这样。 我需要它用于C#和MySql。 我真的不需要像Linq或NHibernate这样的东西。 谢谢

如何检查列是否已经是外键?

我有一个名为Person的表和名为ID的列如何检查ID是否已经是FOREIGN KEY因为我想用这段代码来创建它: ALTER TABLE Person ADD FOREIGN KEY(ID) REFERENCES Job(ID) ON DELETE CASCADE ON UPDATE CASCADE 但如果ID已经是FOREIGN KEY,它会给我以下错误“可能导致循环或多个级联路径”,因为有两个级联的条件…如何检查此字段是否为FOREIGN KEY以避免此错误?

VS 2017中的MySQL和MVCentity framework不起作用

我正在尝试启动MVC EF Visual Studio 2017项目。 我的数据连接都在我的本地实例上设置了MySQL,但是当我创建一个ADO.net数据模型时,我得到了图片中看到的错误: 这里还有另一篇文章: 不能使用MySQL连接来覆盖VS 2012和2013而不是2017年的entity framework6.以下是MySQL文档,其中说明了2017版本的哪些版本: https : //dev.mysql.com/ DOC /视觉工作室/ EN /视觉工作室的Install.html 我在用: MySQL Connector Net 6.9.9 | MySQL for Visual Studio 1.2.7 | MySQL服务器5.7 MySQL.Data 6.9.9 | MySQL.Data.Entity 6.9.9 | entity framework6.1.3 所有这些都列在MySQL测试和工作。 我今天刚刚安装了所有新产品,所以没有出色的旧版本。 我三重检查;) 连接字符串: 编辑 我发现这篇文章https://dev.mysql.com/doc/connector-net/en/connector-net-entityframework60.html谈到了建立连接但现在而不是那个错误,对话框就消失了一打到’下一步’。 这只是我做错了什么或MySQL连接器坏了吗? 提前感谢您的任何建议!

MySqlBulkLoader的解释

你能告诉我MySqlBulkLoader的用途,在哪里以及如何使用它? 一些例子也将不胜感激,请..

有没有办法连接到没有ssl的MySQL数据库?

我正在尝试连接到本地MySQL数据库。 我有这个连接器: using(MySqlConnection conn = new MySqlConnection(“Database=Studentenverwaltung;Port=3306;Data Source=127.0.0.1;User Id=root;Password=abc123”)) { try { conn.Open(); Console.WriteLine(“Opened!”); conn.Close(); } catch(Exception e) { Console.WriteLine(“Cannot open Connection”); Console.WriteLine(e.ToString()); } } 但是我得到了这个例外: MySql.Data.MySqlClient.MySqlException(0x80004005):主机127.0.0.1不支持SSL连接。 它似乎无法连接到数据库,因为数据库不支持SSL。 那么有没有办法如何连接到没有SSL的数据库?

Windows -1252不支持编码名称。 C#

我正在使用Windows 10 Universal App和ARM CPU为Raspberry Pi创建应用程序。 编码时出现以下错误: 附加信息:’windows-1252’不是受支持的编码名称。 有关定义自定义编码的信息,请参阅Encoding.RegisterProvider方法的文档。 这是我的代码。 private async void Login(string passcode) { try { MySqlConnection conn = new MySqlConnection(“Server=127.0.0.1;Port=3306;Database=database;Uid=username;Pwd=password;SslMode=None;charset=utf8”); MySqlCommand cmd; conn.Open(); cmd = new MySqlCommand(“Select * from users where User = ‘” + passcode + “‘”, conn); MySqlDataReader dr; dr = cmd.ExecuteReader(); int count = 0; while (dr.Read()) { count […]