none
Crear una base de datos desde C# RRS feed

  • Pregunta

  • Hola amigos, estoy intentando crear una base de datos desde un boton de un formulario en c#, pero no se muy bien que pasos seguir, como se trata de un programa que se intalara en otra maquina, se instalara a la misma vez que esta añlicacion Microsoft SQL Express, asique quiero saber como puedo crear mediante codigo la base de datos. Primero debo ejecutar mediante una sentencia SQL Express y despues otra sentencia para crear la base de datos??? que puedo arrancar SQL Express mediante codigo? y como construyo la sentencia para crear la base de datos?

    Espero puedan ayudarme. Un saludo a todos

    sábado, 16 de abril de 2011 11:47

Respuestas

  • asique quiero saber como puedo crear mediante codigo la base de datos

    pero no necesitas crear por codigo la db, puedes llevar el .mdf junto al .exe y ubicarlo al momento de instalar en la misma carpeta

    analzia este ejemplo

     

    [ADO.NET] Parte 5 - Ejemplos Simples Operaciones CRUD

    veras que usa un .mdf que esta integrado al VS, lo puede ver listado en el Solution Explorer

    para que funcione solo necesitas el sql server express intalado y listo, no es necesario crear la db por medio de script dinamicamente

     

    que puedo arrancar SQL Express mediante codigo? y como construyo la sentencia para crear la base de datos?

    va a ser medio costoso crear los script para recrear toda la db, cuando puede pone el archivo con la estructura y usarlo

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Mesiasrojo sábado, 16 de abril de 2011 23:56
    sábado, 16 de abril de 2011 13:17
  • Aca te paso un codigo para crear una BD desde codigo:

     Public Sub CrearBD(ByVal IP As String)
    
      Cnx = New MySQLConnection(New MySQLConnectionString(IP, "mysql", "root", "abuelococo", 3306).AsString)
    
      Dim Cmd As New MySQLCommand("CREATE DATABASE krosser /*!40100 DEFAULT CHARACTER SET latin1 */;", Cnx)
    
      Try
    
       Cnx.Open()
    
       With Cmd
    
        .CommandType = CommandType.Text
    
        .ExecuteNonQuery()
    
       End With
    
      Catch ex As Exception
    
       Throw New Exception(ex.Message)
    
      Finally
    
       Cnx.Close()
    
      End Try
    
     End Sub
    
    

     Espero sea de utilidad, ten en cuenta que yo uso aca una BD MYSQL, pero para SQL es igual, no me dio tiempo para adaptarlo a SQL porque estoy en el trabajo XD.


    Programador .NET - Desarrollador 5 Estrellas.
    • Marcado como respuesta Mesiasrojo sábado, 16 de abril de 2011 23:56
    sábado, 16 de abril de 2011 14:09
  • hola

    archivo de imagen ? mmm no tienes alli mismo el mdf que es el archivo fisico dde l db, no es una imagen, si se crea una copia cuando inicias la aplciacion en el VS que la lleva a la carpeta \bin\Debug del proyecto que desarrollas

    pero esto es una tema dedl VS como trabaja cuando estas ejecutando desde el propio VS, cuando luego hagas el deploy en la pc del usuario esto no sucede, solo dejas el mdf junto al .exe y es todos

    Nota: y tiene el Sql Server Express instalado por supuesto

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Mesiasrojo domingo, 17 de abril de 2011 14:12
    domingo, 17 de abril de 2011 13:49

Todas las respuestas

  • asique quiero saber como puedo crear mediante codigo la base de datos

    pero no necesitas crear por codigo la db, puedes llevar el .mdf junto al .exe y ubicarlo al momento de instalar en la misma carpeta

    analzia este ejemplo

     

    [ADO.NET] Parte 5 - Ejemplos Simples Operaciones CRUD

    veras que usa un .mdf que esta integrado al VS, lo puede ver listado en el Solution Explorer

    para que funcione solo necesitas el sql server express intalado y listo, no es necesario crear la db por medio de script dinamicamente

     

    que puedo arrancar SQL Express mediante codigo? y como construyo la sentencia para crear la base de datos?

    va a ser medio costoso crear los script para recrear toda la db, cuando puede pone el archivo con la estructura y usarlo

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Mesiasrojo sábado, 16 de abril de 2011 23:56
    sábado, 16 de abril de 2011 13:17
  • Aca te paso un codigo para crear una BD desde codigo:

     Public Sub CrearBD(ByVal IP As String)
    
      Cnx = New MySQLConnection(New MySQLConnectionString(IP, "mysql", "root", "abuelococo", 3306).AsString)
    
      Dim Cmd As New MySQLCommand("CREATE DATABASE krosser /*!40100 DEFAULT CHARACTER SET latin1 */;", Cnx)
    
      Try
    
       Cnx.Open()
    
       With Cmd
    
        .CommandType = CommandType.Text
    
        .ExecuteNonQuery()
    
       End With
    
      Catch ex As Exception
    
       Throw New Exception(ex.Message)
    
      Finally
    
       Cnx.Close()
    
      End Try
    
     End Sub
    
    

     Espero sea de utilidad, ten en cuenta que yo uso aca una BD MYSQL, pero para SQL es igual, no me dio tiempo para adaptarlo a SQL porque estoy en el trabajo XD.


    Programador .NET - Desarrollador 5 Estrellas.
    • Marcado como respuesta Mesiasrojo sábado, 16 de abril de 2011 23:56
    sábado, 16 de abril de 2011 14:09
  • No sabia que pudiese hacerlo de esta manera...la verdad esque pinta muy muy bien esta solucion, y sobre todo mas sencilla, muchas gracias por los datos, voy a investigar esta opcion y os ire contando como sale.
    sábado, 16 de abril de 2011 23:54
  • Gracias por el codigo, la verdad siempre da mucha tranquilidad tener dos opciones para un solo problema. Ya me quedo mucho mas tranquilo, gracias a ambos
    sábado, 16 de abril de 2011 23:55
  • Leandro he leidoel link con los ejemplos que me ha comentado pero no veo en ellos como usar el archivo .mdf, porque se trata de una especie de archivo de imagen no???
    domingo, 17 de abril de 2011 11:48
  • hola

    archivo de imagen ? mmm no tienes alli mismo el mdf que es el archivo fisico dde l db, no es una imagen, si se crea una copia cuando inicias la aplciacion en el VS que la lleva a la carpeta \bin\Debug del proyecto que desarrollas

    pero esto es una tema dedl VS como trabaja cuando estas ejecutando desde el propio VS, cuando luego hagas el deploy en la pc del usuario esto no sucede, solo dejas el mdf junto al .exe y es todos

    Nota: y tiene el Sql Server Express instalado por supuesto

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    • Marcado como respuesta Mesiasrojo domingo, 17 de abril de 2011 14:12
    domingo, 17 de abril de 2011 13:49
  • Hola,

    aunque ya el tema esta resuelto quisiera compartir este link con ustedes

    http://evoluciondotnet.blogspot.co.uk/2012/06/como-crear-dinamicamente-una-base-de.html



    Jose Mendez.
    Blog
    If a post answers your question, please click "Mark As Answer" on that post and "Mark as Helpful".
    Si un Post reponde a tu pregunta, por favor "Marcala como Respondida" y "Vota como útil".

    jueves, 21 de junio de 2012 22:25