C#SQLite-只更新了2个表中的1个表

C#SQLite-只更新了2个表中的1个表,c#,wpf,sqlite,C#,Wpf,Sqlite,我有一个WPF应用程序,所以当人们编辑详细信息并单击“更新”时,我希望它同时更新两个表。似乎正在发生的是,它只是在更新Tbl1和它们两个。当我向表中插入数据时,这段代码工作得很好。 我不确定我做错了什么,我没有任何错误 private void ButtonEditTbl1Update_OnClick(object sender, RoutedEventArgs e) { var ModifiedDateTime = DateTime.Now;

我有一个WPF应用程序,所以当人们编辑详细信息并单击“更新”时,我希望它同时更新两个表。似乎正在发生的是,它只是在更新Tbl1和它们两个。当我向表中插入数据时,这段代码工作得很好。 我不确定我做错了什么,我没有任何错误

    private void ButtonEditTbl1Update_OnClick(object sender, RoutedEventArgs e)
    {

        var ModifiedDateTime = DateTime.Now;
        {
            var ConnString = ConfigurationManager.ConnectionStrings["ConnString"].ConnectionString;

            using (var DbConnection = new SQLiteConnection(ConnString))
            {
                try
                {
                    var insertIntoTable1String = (@"UPDATE [Tbl1]
                    SET Tbl1EnvironmentType = @Tbl1EnvironmentType, Tbl1URL = @Tbl1URL, Tbl1Server = @Tbl1Server, Tbl1ModifiedDate = @Tbl1ModifiedDate
                    WHERE(Tbl1.Tbl1Deleted = 0) AND (Tbl1.Tbl1ID = '" + Tbl1ID.Text + "')");
                    var insertIntoUsernamePasswordString = (@"UPDATE [Tbl2UsernamePassword]
                    SET Tbl2Username = @Tbl2Username, Tbl2Password = @Tbl2Password, Tbl1Server = @Tbl1Server, Tbl1ModifiedDate = @Tbl1ModifiedDate
                    WHERE(Tbl2UsernamePassword.Deleted = 0) AND (Tbl2UsernamePassword.Tbl2UsernamePasswordsID = '" + Tbl2UsernamePasswordsID.Text + "')");
                    var insertIntoTbl1Table = new SQLiteCommand(insertIntoTable1String);
                    var insertIntoTbl2UsernamePasswordTable = new SQLiteCommand(insertIntoUsernamePasswordString);

                    insertIntoTbl1Table.Connection = DbConnection;
                    insertIntoTbl2UsernamePasswordTable.Connection = DbConnection;

                    insertIntoTbl1Table.Parameters.AddWithValue("@Tbl1EnvironmentType", ComboBoxTbl1EnvironmentType.Text);
                    insertIntoTbl1Table.Parameters.AddWithValue("@Tbl1URL", TextBoxTbl1Url.Text);
                    insertIntoTbl1Table.Parameters.AddWithValue("@Tbl1Server", TextBoxTbl1ServerName.Text);
                    insertIntoTbl1Table.Parameters.AddWithValue("@Tbl1ModifiedDate", ModifiedDateTime);

                    insertIntoTbl2UsernamePasswordTable.Parameters.AddWithValue("@Tbl2Username", TextBoxTbl2Username.Text);
                    insertIntoTbl2UsernamePasswordTable.Parameters.AddWithValue("@Tbl2Password", TextBoxTbl2Password.Text);
                    insertIntoTbl2UsernamePasswordTable.Parameters.AddWithValue("@Tbl1Server", TextBoxTbl1ServerName.Text);
                    insertIntoTbl2UsernamePasswordTable.Parameters.AddWithValue("@Tbl1ModifiedDate", ModifiedDateTime);

                    try
                    {
                        DbConnection.Open();
                        insertIntoTbl1Table.ExecuteNonQuery();
                        insertIntoTbl2UsernamePasswordTable.ExecuteNonQuery();
                        DbConnection.Close();
                        MessageBox.Show("Successfully updated");
                    }
                    catch (Exception ex)
                    {
                        throw new Exception(ex.Message);
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }
    }
}

您是否查询该表以检查您指定的条件是否满足更新要求?@Nilesh否我只是在更新它,即使某项没有更改。为了测试这一点,我特别更改了tbl1中的所有字段和数据,但TBL2中的数据更新了。我的意思是
WHERE(Tbl2UsernamePassword.Deleted=0)和(Tbl2UsernamePassword.Tbl2UsernamePasswordsID='“+Tbl2UsernamePasswordsID.Text+”)“”
使用select语句时,此条件是否返回任何行?原因浏览代码时,它看起来确实正确。@Nilesh是,它返回行。是否查询表以检查指定的条件是否满足更新要求?@Nilesh否,我只是更新它,即使项目没有更改。为了测试这一点,我特别更改了tbl1中的所有字段和数据,但TBL2中的数据更新了。我的意思是
WHERE(Tbl2UsernamePassword.Deleted=0)和(Tbl2UsernamePassword.Tbl2UsernamePasswordsID='“+Tbl2UsernamePasswordsID.Text+”)“”
使用select语句时,此条件是否返回任何行?因为浏览代码时,它看起来确实正确。@Nilesh是,它返回行。