Как часть проекта по импорту данных в wordpress с помощью скрипинга экрана У меня есть таблица базы данных старого и нового URL-адресов, хранящихся в базе данных MySQL. В приведенном ниже примере команда ExecuteReader не возвращает какие-либо данные (-1 строк), я запускал SQL через workbench и возвращал данные, поэтому это не SQL или данные в базе данных.MySqlDataReader не возвращает данные
В других случаях в коде я вызывал 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'] (http://msdn.microsoft.com/en-us/library/system.data.sqlclient. sqldatareader.recordsaffected.aspx) всегда возвращает -1 для команды SELECT. Что возвращает «LinkHashMap.Count»? ** Редактировать ** Для 'MySqlDataReader' это одно и то же: http://www.devart.com/dotconnect/mysql/docs/Devart.Data.MySql~Devart.Data.MySql.MySqlDataReader~RecordsAffected.html (_" Количество строк, измененных, вставленных или удаленных. -1 для операторов SELECT «_» –
где «предложение WHERE»? –
Я считаю, что под капотом это вызов «mysql_affected_rows» в соответствии с http://dev.mysql.com/doc/refman/5.0/en/mysql-affected-rows.html «-1» указывает, что запрос возвратил ошибку или что ", но, как я уже сказал, я проверил SQL через workbench. –