JamisonSilva Ответов: 1

Как сохранить все таблицы набора данных в базе данных mysql


Я не могу сохранить все таблицы набора данных в базе данных с помощью dataadapter. Когда я пытаюсь сохранить это, только первая таблица сохраняется, а остальные-нет.

Что я уже пробовал:

Я получаю данные из базы данных с помощью хранимой процедуры в mysql workbrenck:

CREATE DEFINER=`root`@`localhost` PROCEDURE `Tabelas_Materia_Prima`()
BEGIN

	SELECT * FROM materia_prima_ar order by 'DATA';
    SELECT * FROM materia_prima_amido order by 'DATA';
    SELECT * FROM materia_prima_art order by 'DATA';
    SELECT * FROM materia_prima_umidade order by 'DATA';
    SELECT * FROM materia_prima_pol order by 'DATA';
    SELECT * FROM materia_prima_infeccao order by 'DATA';
    SELECT * FROM materia_prima_imp_veg order by 'DATA';
    SELECT * FROM materia_prima_imp_min order by 'DATA';
    SELECT * FROM materia_prima_fosfato order by 'DATA';
    SELECT * FROM materia_prima_fibra order by 'DATA';
    SELECT * FROM materia_prima_dextrana order by 'DATA';    

END


Итак, я делаю модификацию данных таблиц, затем пытаюсь сохранить таблицы в datatable, но сохраняется только первая таблица. :(. Как я могу сохранить все datatable в базе данных?

public void Salvar_Procedure(DataSet Dados, string Nome_Procedure)
        {
            MySqlConnection Conexao = new MySqlConnection(StringConexao);

            //OdbcConnection Conexao = new OdbcConnection("DSN=YasFashion_Sacoleiro_DB");

            MySqlCommand Comando = new MySqlCommand();
            Comando.Connection = Conexao;
            Comando.CommandType = CommandType.StoredProcedure;
            Comando.CommandText = Nome_Procedure;
            MySqlDataAdapter Meu_Adaptador = new MySqlDataAdapter(Comando);

            //OdbcDataAdapter Meu_Adaptador = new OdbcDataAdapter("SELECT * FROM " + Nome_Tabela, Conexao);

            try
            {
                Conexao.Open();

                MySqlCommandBuilder Comando01 = new MySqlCommandBuilder(Meu_Adaptador);

                //OdbcCommandBuilder Comando = new OdbcCommandBuilder(Meu_Adaptador);

                Meu_Adaptador.Update(Dados);

                Conexao.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Erro de salvamento: \n" + ex);
            }
        }

1 Ответов

Рейтинг:
2

Member 12829420

Все ли данные, полученные из таблиц, хранятся в одном наборе данных?
Как вы храните выбранные вами данные? Я не вижу, где вы его храните.

Может быть, вам следует использовать что-то вроде

набор данных = инструкцию SQL (Select * из того, materia_prima_ar по "данных";)
dataset b = SQL statement (SELECT * FROM materia_prima_amido order by 'DATA';)
и т. д. (Это не правильный код, а просто попытка дать вам представление о том, как, по моему мнению, вы должны попытаться это сделать)

Таким образом, вы должны иметь набор данных, выделенный для каждого оператора select, а затем сохранить каждый набор данных обратно в таблицу, из которой он был выбран после любых изменений.