
Apoyo con Query MySQL
Publicado por Antonio (3 intervenciones) el 01/11/2021 17:33:25
Hola a todos,
Me encuentro realizando un proyecto para actualizar una lista de precios mediante una Aplicación de Windows Form .Net Frameword 4.7. La lista de precios se obtiene al realizar una consulta a una base de datos SQL Server de servidor local físico (//Servidor1) y actualiza una base de datos MySQL (MariaDB 10.3.31) alojado en un VPS online. Todo va bien hasta que intento realizar el query de actualización de datos, me arroja el error "No se logró realizar la consulta por Unkown column Ds.DT1.Precios1 in Field list"
¿Alguien podría ayudarme por favor? Les dejo el código a continuación.
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient
Imports System.Data.Common
Public Class Form1
' 1 - Definir variables -
Dim conSQL As New SqlConnection("Data Source=SERVIDOR1;Initial Catalog=bd_precios;Persist Security Info=True;User ID=test_precios;Password=test")
Dim conMySQL As New MySqlConnection("Server=192.168.100.254;Integrated Security=Yes;SSLMode=None;Database=bd_app;User Id=App_Test;Password=test")
Dim Ds As New DataSet
Dim DT1, DT2 As DataTable
Dim DTRow As DataRow
Dim DTCol As DataColumn
Dim AdapSQL As SqlDataAdapter
Dim AdapMySQL As MySqlDataAdapter
Dim cmdSQL As SqlCommand
Dim cmdMySQL As MySqlCommand
Dim cmdMySQLBuider As New MySqlCommandBuilder
Dim LeerSQL, LeerMySQL, InsertarMySQL, LeerDatos, ClonarDatos As String
Dim PrecioSQL, PrecioMySQL, idSQL, idMySQL As String
Dim ReaderMySQL As MySqlDataReader
' 2 - Procedimiento para la conexion SQL Server -
Private Sub conexionSQL()
Try
conSQL.Open()
MsgBox("Conexión realizada de manera exitosa", MsgBoxStyle.Information, "App Super")
conSQL.Close()
Catch ex As Exception
MsgBox("No se logro realizar la conexión debido: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
End Sub
' 3 - Procedimiento para la conexion MySQL Server -
Private Sub conexionMySQL()
Try
conMySQL.Open()
MsgBox("Conexión realizada de manera exitosa", MsgBoxStyle.Information, "App Super")
conMySQL.Close()
Catch ex As Exception
MsgBox("No se logro realizar la conexión debido: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
End Sub
' 4 - Procedimiento para la consulta SQL Server -
Private Sub consultaSQL()
Try
DT1 = New DataTable("DT1")
Ds.Tables.Add(DT1)
LeerSQL = "Select Articulo, Nombre, Precios1 From dbo.Precios1"
AdapSQL = New SqlDataAdapter(LeerSQL, conSQL)
AdapSQL.Fill(DT1)
DGTablaSQL.DataSource = DT1
Catch ex As Exception
MsgBox("No se logro realizar la consulta por: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
End Sub
' 4 - Procedimiento para la consulta MySQL Server -
Private Sub consultaMySQL()
Try
DT2 = New DataTable("DT2")
Ds.Tables.Add(DT2)
LeerMySQL = "Select id, titulo, precio From productos"
AdapMySQL = New MySqlDataAdapter(LeerMySQL, conMySQL)
AdapMySQL.Fill(DT2)
DGTablaMySQL.DataSource = DT2
Catch ex As Exception
MsgBox("No se logro realizar la consulta por: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
End Sub
' 5 - Procedimiento para Actualizar Datos MySQL Server -
Private Sub consultarSQL()
Try
LeerDatos = "SELECT Ds.DT1.ArticuloID, Ds.DT1.Nombre, Ds.DT1.Precios1 FROM Ds"
Catch ex As Exception
MsgBox("No se logro realizar la consulta por: " & ex.Message, MsgBoxStyle.Critical, "App Super Álvarez")
End Try
End Sub
Private Sub ActualizarMySQL()
conMySQL.Open()
Try
InsertarMySQL = "UPDATE productos SET productos.precio=Ds.DT1.Precios1 WHERE id=ArticuloID"
cmdMySQL = New MySqlCommand(InsertarMySQL, conMySQL)
ReaderMySQL = cmdMySQL.ExecuteReader
cmdMySQL.Parameters.Add("@Precios1", MySqlDbType.Double = "8,2").Value = "DT1.Precios1"
AdapMySQL.UpdateCommand = cmdMySQL
cmdMySQLBuider = New MySqlCommandBuilder(AdapMySQL)
AdapMySQL.Update(Ds, "DT2")
Catch ex As Exception
MsgBox("No se logro realizar la consulta por: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
conMySQL.Close()
End Sub
' 6 - Procedimiento para corroborar precios SQL Server -
Private Sub consulta2SQL()
Try
AdapSQL = New SqlDataAdapter(LeerSQL, conSQL)
AdapSQL.Fill(DT1)
DGTablaSQL.DataSource = DT1
Catch ex As Exception
MsgBox("No se logro realizar la consulta por: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
End Sub
' 6 - Procedimiento para corroborar precios MySQL Server -
Private Sub consulta2MySQL()
Try
AdapMySQL = New MySqlDataAdapter(LeerMySQL, conMySQL)
AdapMySQL.Fill(DT2)
DGTablaMySQL.DataSource = DT2
Catch ex As Exception
MsgBox("No se logro realizar la consulta por: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
End Sub
' 7 - Ejecutar Procedimientos -
Private Sub BtnLeer_Click(sender As Object, e As EventArgs) Handles BtnLeer.Click
consultaSQL()
consultaMySQL()
End Sub
Private Sub BtnActualizar_Click(sender As Object, e As EventArgs) Handles BtnActualizar.Click
ActualizarMySQL()
End Sub
Private Sub BtnComprobar_Click(sender As Object, e As EventArgs) Handles BtnComprobar.Click
consulta2SQL()
consulta2MySQL()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Text = "Actualizar Precios"
End Sub
End Class
Me encuentro realizando un proyecto para actualizar una lista de precios mediante una Aplicación de Windows Form .Net Frameword 4.7. La lista de precios se obtiene al realizar una consulta a una base de datos SQL Server de servidor local físico (//Servidor1) y actualiza una base de datos MySQL (MariaDB 10.3.31) alojado en un VPS online. Todo va bien hasta que intento realizar el query de actualización de datos, me arroja el error "No se logró realizar la consulta por Unkown column Ds.DT1.Precios1 in Field list"
¿Alguien podría ayudarme por favor? Les dejo el código a continuación.
Imports System
Imports System.Data
Imports System.Data.SqlClient
Imports MySql.Data.MySqlClient
Imports System.Data.Common
Public Class Form1
' 1 - Definir variables -
Dim conSQL As New SqlConnection("Data Source=SERVIDOR1;Initial Catalog=bd_precios;Persist Security Info=True;User ID=test_precios;Password=test")
Dim conMySQL As New MySqlConnection("Server=192.168.100.254;Integrated Security=Yes;SSLMode=None;Database=bd_app;User Id=App_Test;Password=test")
Dim Ds As New DataSet
Dim DT1, DT2 As DataTable
Dim DTRow As DataRow
Dim DTCol As DataColumn
Dim AdapSQL As SqlDataAdapter
Dim AdapMySQL As MySqlDataAdapter
Dim cmdSQL As SqlCommand
Dim cmdMySQL As MySqlCommand
Dim cmdMySQLBuider As New MySqlCommandBuilder
Dim LeerSQL, LeerMySQL, InsertarMySQL, LeerDatos, ClonarDatos As String
Dim PrecioSQL, PrecioMySQL, idSQL, idMySQL As String
Dim ReaderMySQL As MySqlDataReader
' 2 - Procedimiento para la conexion SQL Server -
Private Sub conexionSQL()
Try
conSQL.Open()
MsgBox("Conexión realizada de manera exitosa", MsgBoxStyle.Information, "App Super")
conSQL.Close()
Catch ex As Exception
MsgBox("No se logro realizar la conexión debido: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
End Sub
' 3 - Procedimiento para la conexion MySQL Server -
Private Sub conexionMySQL()
Try
conMySQL.Open()
MsgBox("Conexión realizada de manera exitosa", MsgBoxStyle.Information, "App Super")
conMySQL.Close()
Catch ex As Exception
MsgBox("No se logro realizar la conexión debido: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
End Sub
' 4 - Procedimiento para la consulta SQL Server -
Private Sub consultaSQL()
Try
DT1 = New DataTable("DT1")
Ds.Tables.Add(DT1)
LeerSQL = "Select Articulo, Nombre, Precios1 From dbo.Precios1"
AdapSQL = New SqlDataAdapter(LeerSQL, conSQL)
AdapSQL.Fill(DT1)
DGTablaSQL.DataSource = DT1
Catch ex As Exception
MsgBox("No se logro realizar la consulta por: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
End Sub
' 4 - Procedimiento para la consulta MySQL Server -
Private Sub consultaMySQL()
Try
DT2 = New DataTable("DT2")
Ds.Tables.Add(DT2)
LeerMySQL = "Select id, titulo, precio From productos"
AdapMySQL = New MySqlDataAdapter(LeerMySQL, conMySQL)
AdapMySQL.Fill(DT2)
DGTablaMySQL.DataSource = DT2
Catch ex As Exception
MsgBox("No se logro realizar la consulta por: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
End Sub
' 5 - Procedimiento para Actualizar Datos MySQL Server -
Private Sub consultarSQL()
Try
LeerDatos = "SELECT Ds.DT1.ArticuloID, Ds.DT1.Nombre, Ds.DT1.Precios1 FROM Ds"
Catch ex As Exception
MsgBox("No se logro realizar la consulta por: " & ex.Message, MsgBoxStyle.Critical, "App Super Álvarez")
End Try
End Sub
Private Sub ActualizarMySQL()
conMySQL.Open()
Try
InsertarMySQL = "UPDATE productos SET productos.precio=Ds.DT1.Precios1 WHERE id=ArticuloID"
cmdMySQL = New MySqlCommand(InsertarMySQL, conMySQL)
ReaderMySQL = cmdMySQL.ExecuteReader
cmdMySQL.Parameters.Add("@Precios1", MySqlDbType.Double = "8,2").Value = "DT1.Precios1"
AdapMySQL.UpdateCommand = cmdMySQL
cmdMySQLBuider = New MySqlCommandBuilder(AdapMySQL)
AdapMySQL.Update(Ds, "DT2")
Catch ex As Exception
MsgBox("No se logro realizar la consulta por: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
conMySQL.Close()
End Sub
' 6 - Procedimiento para corroborar precios SQL Server -
Private Sub consulta2SQL()
Try
AdapSQL = New SqlDataAdapter(LeerSQL, conSQL)
AdapSQL.Fill(DT1)
DGTablaSQL.DataSource = DT1
Catch ex As Exception
MsgBox("No se logro realizar la consulta por: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
End Sub
' 6 - Procedimiento para corroborar precios MySQL Server -
Private Sub consulta2MySQL()
Try
AdapMySQL = New MySqlDataAdapter(LeerMySQL, conMySQL)
AdapMySQL.Fill(DT2)
DGTablaMySQL.DataSource = DT2
Catch ex As Exception
MsgBox("No se logro realizar la consulta por: " & ex.Message, MsgBoxStyle.Critical, "App Super")
End Try
End Sub
' 7 - Ejecutar Procedimientos -
Private Sub BtnLeer_Click(sender As Object, e As EventArgs) Handles BtnLeer.Click
consultaSQL()
consultaMySQL()
End Sub
Private Sub BtnActualizar_Click(sender As Object, e As EventArgs) Handles BtnActualizar.Click
ActualizarMySQL()
End Sub
Private Sub BtnComprobar_Click(sender As Object, e As EventArgs) Handles BtnComprobar.Click
consulta2SQL()
consulta2MySQL()
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Me.Text = "Actualizar Precios"
End Sub
End Class
Valora esta pregunta


0