VB.NET MySQLConnection DataDaTapter devuelve las filas de cero para seleccionar después de MySQLCommandBuilder GetupDatecommand () -- mysql campo con vb.net campo con mysql-connector camp Relacionados El problema

VB.Net MySqlConnection DataAdapter returns zero rows for Selects after MySqlCommandBuilder GetUpdateCommand()


2
vote

problema

Español

Visual Basic 2010 Express
Conector MySQL / RED 5.2.7
MySQL Server 5.5.16
Windows 7 Professional 64bit
También se intentó en Windows XP 32 bit con conector MySQL / NET 5.0.x

MySqlDataAdapter devuelve las filas de cero en las declaraciones SELECCIONARSE después de llamar a MySQLCOMMANDBUILDER GetUPDATECOMMAND () MÉTODO. No se lanzan errores, y la actualización es exitosa. Seleccione las declaraciones devuelva las filas si comenté las líneas de GetupDatecommand () y Actualizar (). Si solo comento la línea de actualización (), el problema permanece, por lo que el problema tiene que ver con getUpdatecommand () y no la actualización ().

Hay dos tablas en la base de datos en la que estoy conectando, cada una con el mismo esquema y contenido:

test_table & amp; diferente_table
ID int clavija primaria
Nombre VARCHAR (45)

Cada uno tiene cinco filas:
1 - nombre
2 - Nombre
... etc

  Imports System.Data Imports MySql.Data.MySqlClient Public Class Form1  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click      'Open Connection to test database'     Dim mscConnection As MySqlConnection     mscConnection = New MySqlConnection()     mscConnection.ConnectionString = "server=localhost; user id=root; password=; database=testdb"     mscConnection.Open()      'Get records from test table'     Dim msdaDataAdapter As MySqlDataAdapter     Dim dsDataSet As New DataSet     msdaDataAdapter = New MySqlDataAdapter("SELECT id, name FROM test_table", mscConnection)     msdaDataAdapter.Fill(dsDataSet, "test_table")      'Show record count (result is 5)'     Console.WriteLine(dsDataSet.Tables("test_table").Rows.Count)      'Loop through rows and change the name field of each one'     For Each row As DataRow In dsDataSet.Tables("test_table").Rows         row("name") = "new name"     Next      'Update altered rows'     Dim mscbCommandBuilder As New MySqlCommandBuilder()     mscbCommandBuilder = New MySqlCommandBuilder(msdaDataAdapter)     mscbCommandBuilder.GetUpdateCommand()     msdaDataAdapter.Update(dsDataSet, "test_table")      'Have tried with and without RefreshSchema/Dispose/Nothing'     mscbCommandBuilder.RefreshSchema()     mscbCommandBuilder.Dispose()     mscbCommandBuilder = Nothing      'Try to Select again'     'Get records from test table'     msdaDataAdapter = New MySqlDataAdapter("SELECT id, name FROM test_table", mscConnection)     msdaDataAdapter.Fill(dsDataSet, "test_table_2")      'Show record count: result is 0 :/'     Console.WriteLine(dsDataSet.Tables("test_table_2").Rows.Count)      'Try a different table'     msdaDataAdapter = New MySqlDataAdapter("SELECT id, name FROM different_test_table", mscConnection)     msdaDataAdapter.Fill(dsDataSet, "different_test_table")      'Show record count: result is 0'     Console.WriteLine(dsDataSet.Tables("different_test_table").Rows.Count)     mscConnection.Close()     mscConnection.Dispose() End Sub End Class   

Si vuelvo a hacer clic en el botón adjunto al código por segunda vez (sin cerrar / volver a abrir la aplicación), todas las declaraciones selectas devuelven las filas cero.

La conexión no se está cerrando después de la actualización (). Si intento (re) abrir la conexión después de la actualización, recibo un error que dice que la conexión ya está abierta.

¿Alguien tiene alguna idea de lo que está pasando? ¿Cómo actualizo para que pueda continuar seleccionando más abajo del código?

Original en ingles

Visual Basic 2010 Express
MySQL Connector/Net 5.2.7
MySQL Server 5.5.16
Windows 7 Professional 64Bit
Also tried on Windows XP 32 Bit with MySQL Connector/Net 5.0.x

MySqlDataAdapter returns zero rows on Select statements after calling MySqlCommandBuilder GetUpdateCommand() method. No errors are thrown, and the Update is successful. Select statements return rows if I comment-out the GetUpdateCommand() and Update() lines. If I just comment out the Update() line, the problem remains, so the problem has to do with GetUpdateCommand() and not the Update() itself.

There are two tables in the database I am connecting to, each with the same schema and content:

test_table & different_table
id INT Primary Key
name VARCHAR(45)

Each have five rows:
1 - name
2 - name
...etc

Imports System.Data Imports MySql.Data.MySqlClient Public Class Form1  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click      'Open Connection to test database'     Dim mscConnection As MySqlConnection     mscConnection = New MySqlConnection()     mscConnection.ConnectionString = "server=localhost; user id=root; password=; database=testdb"     mscConnection.Open()      'Get records from test table'     Dim msdaDataAdapter As MySqlDataAdapter     Dim dsDataSet As New DataSet     msdaDataAdapter = New MySqlDataAdapter("SELECT id, name FROM test_table", mscConnection)     msdaDataAdapter.Fill(dsDataSet, "test_table")      'Show record count (result is 5)'     Console.WriteLine(dsDataSet.Tables("test_table").Rows.Count)      'Loop through rows and change the name field of each one'     For Each row As DataRow In dsDataSet.Tables("test_table").Rows         row("name") = "new name"     Next      'Update altered rows'     Dim mscbCommandBuilder As New MySqlCommandBuilder()     mscbCommandBuilder = New MySqlCommandBuilder(msdaDataAdapter)     mscbCommandBuilder.GetUpdateCommand()     msdaDataAdapter.Update(dsDataSet, "test_table")      'Have tried with and without RefreshSchema/Dispose/Nothing'     mscbCommandBuilder.RefreshSchema()     mscbCommandBuilder.Dispose()     mscbCommandBuilder = Nothing      'Try to Select again'     'Get records from test table'     msdaDataAdapter = New MySqlDataAdapter("SELECT id, name FROM test_table", mscConnection)     msdaDataAdapter.Fill(dsDataSet, "test_table_2")      'Show record count: result is 0 :/'     Console.WriteLine(dsDataSet.Tables("test_table_2").Rows.Count)      'Try a different table'     msdaDataAdapter = New MySqlDataAdapter("SELECT id, name FROM different_test_table", mscConnection)     msdaDataAdapter.Fill(dsDataSet, "different_test_table")      'Show record count: result is 0'     Console.WriteLine(dsDataSet.Tables("different_test_table").Rows.Count)     mscConnection.Close()     mscConnection.Dispose() End Sub End Class 

If I re-click the button attached to the code a second time (without closing/re-opening the app), ALL Select statements return zero rows.

The connection isn't being closed after the Update(). If I try to (re)open the connection after the update, I get an error saying the connection is already open.

Does anyone have any idea what is going on? How do I update so that I can continue to select further down the code?

        

Lista de respuestas


Relacionados problema

2  Python 3.x acceder a los resultados de cursor.callproc  ( Python 3 x accessing results of cursor callproc ) 
necesito ayuda para entender la siguiente situación. Quiero llamar a un procedimiento almacenado de MySQL y almacenar el resultado en una variable y luego acc...

1  ¿Puede PHP Array pasó el método poste para atrapar en MVC ASP.NET?  ( Why would connecting to a mysql database from java get denied access ) 
¿Por qué se conectaría a una base de datos MySQL de Java se le niega el acceso? 0123456789012345222 Estoy tratando de conectarme a MySQL desde Java y obteng...

0  MySQL-Connector-Python GBK codificando error  ( Mysql connector python gbk encoding error ) 
Tengo una tabla de datos de codificación de GBK. A veces, falló un inserto SQL con una cadena Unicode con excepción: mysql.connector.errors.programmingError...

0  ¿Por qué el inserto de MySQL QUERIS en no se presenta con selección  ( Why mysql queris insert into does not show up with select ) 
Estoy creando y llenando una base de datos con MySQL y Python. Yo uso MySQL Workbench para visualizar mi base de datos en tiempo real. Una de mis funciones es...

0  Conector MySQL / C ++ OS X 10.9 Mavericks y Xcode 5.0.2  ( Mysql connector c os x 10 9 mavericks and xcode 5 0 2 ) 
Me he actualizado a Xcode 5.0.2 junto con OS X 10.9 Mavericks y MySQL 5.6.16 recientemente. ¿Alguien ha tenido alguna suerte obteniendo el conector / C ++ de ...

0  Seleccione más de una fila  ( Select more than one row ) 
void BaseMySQL::QueryArray(char *InQuery,std::string outResult[]) { query_state = mysql_query(con, InQuery); if (query_state !=0) { printf("%s",m...

0  Fugas de memoria con el conector MySQL + Python  ( Memory leaks with mysql connector python ) 
Yo uso MySQL 5.7.24 con Laragon en Windows 10 (I7-9700K CPU 3.60 GHz) RAM 16 Ir. Python 3.7 a través de ANACONDA + MYSQL Conector 8.0.18. Estoy haciendo algun...

0  Exportación de datos de MySQL a CSV en Python  ( Exporting data from mysql into csv in python ) 
import mysql.connector sql = "SELECT r.sensorID, s.area, r.date, r.Time, r.waterLevel, r.redalert FROM sensor s INNER JOIN rainfall r ON s.sensorID = r.sens...

2  MySQL .NET Conector Documentación Confusión  ( Mysql net connector documentation confusion ) 
MySQL 5.0 Conector.net ejemplos estados: GetByTes devuelve el número de bytes disponibles en el campo. En la mayoría de los casos, esta es la longitud ex...

0  AbstractMethodError cuando se usa la función isValid () con el objeto de conexión MYSQL [DUPLICAR]  ( Abstractmethoderror when using isvalid function with mysql connection object ) 
Esta pregunta ya tiene respuestas aquí : java.lang.abstractmethoderror: com.mysql.jdbc.connection.is...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos