Ir para conteúdo
Fórum Script Brasil
  • 0

Executar vários blocos de instruções SQL (C#) [Resolvido]


Ricardo T. do Prado

Pergunta

Prezados,

Estou com um desafio, preciso criar um método que leia um .txt contendo instruções SQL e execute isso no banco. vou postar trecho no .txt;

ALTER TABLE CubArvores DROP CONSTRAINT Cadastro_CubArvores;
ALTER TABLE CubSeccoes DROP CONSTRAINT CubArvores_CubSeccoes;
ALTER TABLE InvParcelas DROP CONSTRAINT Cadastro_InvParcelas;
ALTER TABLE InvCovas DROP CONSTRAINT InvParcelas_InvCovas;
DROP TABLE  CADASTRO;
CREATE TABLE CADASTRO (_UI INT, PRIMARY KEY (_UI) );
DROP TABLE  CubARVORES;
CREATE TABLE CubArvores (ARVORE_ID INT, _UI INT, MEDICAO DATETIME, EQUIPE NVARCHAR(20), ARVORE INT, CAPDAP FLOAT, CERNE FLOAT, ALTURA FLOAT, COPA FLOAT, PRIMARY KEY (ARVORE_ID) );
DROP TABLE  CubSeccoes;
CREATE TABLE CubSeccoes (SECCAO_ID INT, ARVORE_ID INT, POSICAO FLOAT, SECCAO INT, COMCASCA FLOAT, SEMCASCA FLOAT, CASCA FLOAT, CERNE FLOAT, PRIMARY KEY(SECCAO_ID) );
DROP TABLE  InvParcelas;
CREATE TABLE InvParcelas (PARCELA_ID INT, _UI INT, PARCELA INT, MEDICAO DATETIME, EQUIPE NVARCHAR(20), padrão NVARCHAR(1), COMPRIMENTO FLOAT, COMPDEC FLOAT, LARGURA FLOAT, LARGDEC FLOAT, LATITUDE NVARCHAR(30),LONGITUDE NVARCHAR(30),OCORRENCIA0 NVARCHAR(10),OCORRENCIA1 NVARCHAR(10),OCORRENCIA2 NVARCHAR(10),OCORRENCIA3 NVARCHAR(10),OCORRENCIA4 NVARCHAR(10),OCORRENCIA5 NVARCHAR(10),OCORRENCIA6 NVARCHAR(10),OCORRENCIA7 NVARCHAR(10),OCORRENCIA8 NVARCHAR(10),OCORRENCIA9 NVARCHAR(10),PRIMARY KEY(PARCELA_ID) );
DROP TABLE  InvCovas;
é algo tipo aquele espaço do sql server q você digita as instruções e executa td de um vez. Sugestões??? Aqui o que eu tentei abaixo:
private void btnPath_Click(object sender, EventArgs e)
        {
            OpenFileDialog AbrirArquivo = new OpenFileDialog();
            AbrirArquivo.Filter = "txt files (*.sql)|*.sql";

            if (AbrirArquivo.ShowDialog() == DialogResult.OK)
            {
                txtPath.Text = AbrirArquivo.FileName.ToString();
            }
        }

        private void btnExecute_Click(object sender, EventArgs e)
        {

            if (txtPath.Text == string.Empty)
            {
                MessageBox.Show("Nenhum arquivo selecionado", "Informação");
            }
                //Pego o arquivo que está no display do txtCaminho e abro e jogo para StreamReader
                StreamReader LerSQL = new StreamReader(txtPath.Text);
                while ((LerSQL.ReadLine()) != null)
                {
                    U.ExecImpSQL(LerSQL.ToString());
                }

            MessageBox.Show("Dados importados com sucesso!","Aviso");

            }
o método ExecImpSQL
public void ExecImpSQL(string SQL)
        {
            try
            {
                AbrirConexao();
                SqlCeCommand Comando = new SqlCeCommand(SQL, AbrirConexao());
                Comando.ExecuteNonQuery();
                
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString(), "Exception");
            }
            finally
            {
                CloseConexao(AbrirConexao());
            }
        }

Abs.

Ricardo Prado

Editado por Ricardo T. do Prado
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...