gpt4 book ai didi

MySqlDataReader 不返回数据

转载 作者:行者123 更新时间:2023-11-29 12:37:34 26 4
gpt4 key购买 nike

作为通过屏幕抓取将数据导入 WordPress 的项目的一部分,我将新旧 URL 的数据库表存储在 MySQL 数据库中。在下面的示例中,ExecuteReader 命令似乎没有返回任何数据(-1 行受影响),我已通过工作台运行 SQL 并返回数据,因此它不是数据库中的 SQL 或数据。

在代码中的其他时候,我调用了 ExecuteNonQuery() 和 ExecuteScalar() 都没有问题(因此它不是连接字符串)。

有什么想法下一步要尝试吗?

    Dim SQL As String
Dim conn As MySqlConnection = New MySqlConnection(_CONNECTIONSTRING)

SQL = "SELECT OrgURL, NewURL FROM `wp_user`.`tbl_linkdata`"

Try
conn.Open()
Dim cmd As MySqlCommand = New MySqlCommand(SQL, conn)
Dim dr As MySqlDataReader = cmd.ExecuteReader()
While (dr.Read)
LinkHashMap.Add(dr.GetString(0), dr.GetString(1))
End While
Console.ForegroundColor = ConsoleColor.Cyan
Console.WriteLine("The Hash map contains " + dr.RecordsAffected + " rows")
dr.Close()

Catch ex As Exception
Console.ForegroundColor = ConsoleColor.Red
Console.WriteLine("Exception loading the hashtable : " + ex.Message)
Finally
conn.Dispose()
End Try

最佳答案

DataReader.RecordsAffected对于 SELECT 命令始终返回 -1。 LinkHashMap.Count 返回什么?在 MySqlDataReader是一样的:

"The number of rows changed, inserted, or deleted. -1 for SELECT statements"

如果您想计算记录数,可以使用LinkHashMap.Count

您:“LinkHashMap 是“什么都没有””

如何在不先初始化的情况下向其中添加内容? NullReferenceException 应该发生。因此,首先通过构造函数初始化字典(或其他任何内容):

Dim LinkHashMap As New Dictionary(Of String, String)
While (dr.Read)
LinkHashMap.Add(dr.GetString(0), dr.GetString(1))
End While

关于MySqlDataReader 不返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26546962/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com