Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MySqlCommand上的System.NullReferenceException_Mysql_Vb.net - Fatal编程技术网

MySqlCommand上的System.NullReferenceException

MySqlCommand上的System.NullReferenceException,mysql,vb.net,Mysql,Vb.net,我试图在两个不同的数据库上执行相同的查询,为此,我在My.Settings中创建了两个连接字符串。现在,第一个函数(在localhost中添加值)运行良好。见: Dim query = "INSERT INTO text_app (name, last_name) VALUES(@namep, @last_namep)" Dim MySqlCommand = New MySqlCommand(query, dbCon)

我试图在两个不同的数据库上执行相同的查询,为此,我在
My.Settings
中创建了两个连接字符串。现在,第一个函数(在localhost中添加值)运行良好。见:

Dim query = "INSERT INTO text_app (name, last_name)
                                    VALUES(@namep, @last_namep)"

Dim MySqlCommand = New MySqlCommand(query, dbCon)

MySqlCommand.Parameters.AddWithValue("@namep", name.Text)
MySqlCommand.Parameters.AddWithValue("@last_namep", last_name.Text)

MySqlCommand.ExecuteNonQuery()

Sync.SyncOut(MySqlCommand) 'Pass the object to another function
我将
MySqlCommand
传递给
SyncOut
函数,如下所示:

Using dbCon As MySqlConnection = establishWebConnection()

        Try
            dbCon.Open() 'Open connection..

            'Clone the previous used object for reusing it

            Dim MySqlCommand = query_command.Clone

            MySqlCommand.Connection = dbCon 'Pass the new connection

            MySqlCommand.ExecuteNonQuery() 'Execute the query

            Return True 

        Catch ex As Exception

            MessageBox.Show(ex.InnerException.Message)

        End Try

    End Using
现在
query\u命令
已通过
MySqlCommand
dbCon
是获取联机数据库的另一个连接(该连接没有任何问题,我可以直接连接到联机数据库)。如何查看我打开连接,将其传递给命令,然后执行
ExecuteNonQuery
,在此命令上,我得到:

System.NullReference异常

如果我使用
ex.Message
我可以看到具体的错误:

无法添加或更新子行:外键约束失败(“日历”。“文本应用程序”,约束“文本应用程序”\u ibfk\u 3”外键(“id服务”)在更新的级联上的删除级联上引用“文本服务”(“id”))


我需要再次使用此命令,因为两个数据库必须在同步模式下更新。

我建议使用MySql的复制功能,而不是从代码中更新两个数据库。

我过去也遇到过同样的问题,这意味着web数据库结构需要将id更新为与所有表相同的id。在本地数据库中,您有不同的ID,所以问题是您在vb.net中引用了“NULL”、“NOTHING”。您可以在设置表时按顺序设置ID,也可以回想同步逻辑。请发布方法的完整来源。为什么在命令中使用克隆?建议是什么?