visual studio compact c# sql-server-ce

c# - sql server compact 4.0 visual studio 2015



Crear la base de datos SQLCE programáticamente (1)

He trabajado con SQLCE 3.1 y SharpDevelop. Pruebe este código y vea si esto es lo que desea:

string connStr = "Data Source = FooDatabase.sdf; Password = SomePassword"; if (File.Exists("FooDatabase.sdf")) File.Delete("FooDatabase.sdf"); SqlCeEngine engine = new SqlCeEngine(connStr); engine.CreateDatabase(); SqlCeConnection conn = null; try { conn = new SqlCeConnection(connStr); conn.Open(); SqlCeCommand cmd = conn.CreateCommand(); cmd.CommandText = "CREATE TABLE FooTable(col1 int, col2 ntext)"; cmd.ExecuteNonQuery(); } catch { } finally { conn.Close(); }

Tenga en cuenta que la base de datos es solo un archivo, por lo que puede verificar si la base de datos existe si el archivo existe, también puede eliminar la base de datos eliminando el archivo. Espero que esto ayude.

Esta pregunta ya tiene una respuesta aquí:

[EDITADO - con respuesta]

A continuación está mi código para crear la base de datos SQL CE programáticamente:

/* get the Path */ var directoryName = System.IO.Path.GetDirectoryName(Assembly.GetEntryAssembly().Location); var fileName = System.IO.Path.Combine(directoryName, "Foo2Database.sdf"); /* check if exists */ if (File.Exists(fileName)) File.Delete(fileName); string connStr = @"Data Source = " + fileName; /* create Database */ SqlCeEngine engine = new SqlCeEngine(connStr); engine.CreateDatabase(); /* create table and columns */ using (SqlCeConnection conn = new SqlCeConnection(connStr)) { using (SqlCeCommand cmd = new SqlCeCommand(@"CREATE TABLE FooTable (Foo_ID int, FooData NVARCHAR(200))", conn)) { try { conn.Open(); cmd.ExecuteNonQuery(); } catch (Exception ex) { MessageBox.Show(ex.ToString()); } finally { conn.Close(); } } }