none
Verificar si existe una tabla en la base de datos RRS feed

  • Pregunta

  • Public Sub Crear_Curriculo()
            Using cnn As New SqlConnection(configuracion.ConnectionString)
                cnn.Open()
                Dim cmd As SqlCommand = cnn.CreateCommand()
                cmd.CommandText = "Create table CURRICULO" & CInt(txtcursob.Text) & " 
                                  ([Num_Curso] tinyint,[Cod_Clase] varchar(20),[Ano] tinyint,[Semestre] tinyint) "
                cmd.ExecuteNonQuery()
    
                Using cmd1 As SqlCommand = cnn.CreateCommand()
                    cmd1.CommandText = "INSERT INTO CURRICULO" & CInt(txtcursob.Text) & "(Num_Curso,Cod_Clase,Ano,Semestre)
                                       SELECT " & CInt(txtcursob.Text) & ",Cod_Clase,Ano,Semestre  FROM CLASES_TABLA WHERE
                    Curso1=" & CInt(txtcursob.Text) & " or Curso2=" & CInt(txtcursob.Text) &
                    " or Curso3=" & CInt(txtcursob.Text) & " or Curso4=" & CInt(txtcursob.Text) &
                    " or Curso5=" & CInt(txtcursob.Text) & " or Curso6=" & CInt(txtcursob.Text) &
                    " or Curso7=" & CInt(txtcursob.Text) & " or Curso8=" & CInt(txtcursob.Text) &
                    " or Curso9=" & CInt(txtcursob.Text) & " or Curso10=" & CInt(txtcursob.Text)
    
                    cmd1.ExecuteNonQuery()
                    MessageBox.Show("Registro Grabado")
                End Using
            End Using
        End Sub
    Tengo las siguientes consulta que las hago desde el lado cliente con vb.net, para crear el nombre de la tabla utilizo la palabra curriculo seguida del valor(numero) que se encuentra en el textbox (txtcursob), hasta ahi todo bien pero necesito que si la tabla ya existe la borre y vuelva a crearla, por supuesto tomando en consideracion que el nombre tiene que ser la palabra curriculo seguido del valor que se encuentre en el textbox (txtcursob)
    viernes, 28 de junio de 2019 19:07

Respuestas

  • necesito que si la tabla ya existe la borre y vuelva a crearla

    Puedes conseguir eso desde el lado servidor metiendo un condicional en la sentencia:

    Dim nombreTabla As String = "CURRICULO" & CInt(textBox1.Text)
    Dim sql as String = "if exists (select * from sysobjects where name='" & nombreTabla  & "' and xtype='U') drop table " & nombreTabla
    
    

    A continuación lo ejecutas con ExecuteNonQuery. Eso borra la tabla si no existe. Seguidamente, 

    usas un "create table" de la misma manera que en la anterior pregunta que hiciste.

    viernes, 28 de junio de 2019 19:42