mysql - Vb.Net - 使用 MySQL 存储过程的 DATE_FORMAT 上的“字典中不存在给定的键”
问题描述
我正在使用带参数的 MySQL 存储过程并从 vb.net winforms 应用程序调用它。
这是我在 VB 中的称呼:
Try
sqlConn.Open()
Dim cmd As New MySqlCommand("SP_DAILY", sqlConn)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@serial", txtSerial.Text)
cmd.Parameters.AddWithValue("@datefrom", dtpFrom.Value)
cmd.Parameters.AddWithValue("@dateto", dtpTo.Value)
Dim rdr As MySqlDataReader = cmd.ExecuteReader
If rdr.HasRows Then
While rdr.Read
Console.WriteLine(rdr(0) & " - " & rdr(1) & " - " & rdr(2))
End While
Else
Console.WriteLine("Serial not found")
End If
Catch ex As Exception
MsgBox(ex.Message)
Finally
sqlConn.Close()
End Try
这是存储过程:
SELECT
Name,
SerialNo,
DATE_FORMAT(datetime, '%Y/%m/%d') AS Date
FROM table t
WHERE date(dateTime) BETWEEN datefrom AND dateto
AND SerialNo = serial
我尝试删除 Date_format 并且效果很好,但我想将日期格式化为上述格式。
我也尝试过使用 DATE(datetime) 但我没有得到正确的格式。
PS。当使用 CALL SP_DAILY (参数)在 MySQL 本身中调用存储过程时,存储过程工作正常,但从 VB 调用它时出现错误。我想知道为什么在使用 DATE_FORMAT 函数并从 VB 调用它时会发生错误。
解决方案
推荐阅读
- javascript - Firebase DB snapshot.val() 返回 null
- npm - npm 链接本地模块后的 npm install 导致错误:未找到
- c# - 在 C# 中将 DateTime 字符串转换为 24 小时格式 DateTime 数据类型
- c++ - 如何同时使用 set 和 enum?
- c# - Unity 使用带有输入字段的脚本
- javascript - Why is my ref not working in React Native?
- html - 调整屏幕大小时如何重新排列 div 的顺序?
- webrtc - 了解 WebRTC
- mysql - 为 MySQL 表中的所有日期选择低于日期的不同值的数量
- reactjs - 服务器端渲染上的 webpack4 开发服务器代理错误反应热加载应用程序