Hola,
soy un usuario completamente inexperto en SQL. Pues bien, para empezar he pensado que el primer paso sería crear una BD. Buscando algún ejemplo por la red he probado con esto:
// Necesario importarla para crear la BD
using System.Data.SqlClient;
namespace CrearBDSQL
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private string [] instanciasInstaladas()
{
Microsoft.Win32.RegistryKey rk;
rk = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(@ "SOFTWARE\Microsoft\Microsoft SQL Server", false);
string[] s;
s = ((string[])rk.GetValue("InstalledInstances"));
return s;
}
private void Form1_Load(object sender, EventArgs e)
{
this.Show();
string[] instancias;
instancias = instanciasInstaladas();
foreach (string s in instancias)
{
if (s == "MSSQLSERVER")
{
comboBoxInstancias.Items.Add("(local)");
}
else
{
comboBoxInstancias.Items.Add(@"(local)\" + s);
}
}
comboBoxInstancias.Text = "(local)";
}
private void buttonCrearBD_Click(object sender, EventArgs e)
{
// La conexión a usar, indicando la base master
SqlConnection cnn = new SqlConnection(
"Server=" + comboBoxInstancias.Text + "; " +
"database=master; integrated security=yes");
// La orden T-SQL para crear la tabla
string s = "CREATE DATABASE " + textBoxNombre.Text;
SqlCommand cmd = new SqlCommand(s, cnn);
try
{
// Abrimos la conexión y ejecutamos el comando
cnn.Open();
cmd.ExecuteNonQuery();
//
}
catch (Exception ex)
{
MessageBox.Show(ex.Message,
"Error al crear la base",
MessageBoxButtons.OK, MessageBoxIcon.Error);
}
finally
{
// Por si se produce un error,
// comprobar si la conexión está abierta
if (cnn.State == ConnectionState.Open)
{
cnn.Close();
}
}
}
}
}
Funciona a la perfección, pero no se donde carajos está la BD :). Después de tener la BD creada, la idea sería aprender como insertar datos en la misma y después como consultarlos.
Agradecería cualquier tipo de aclaración al respecto, así como una referencia/manual/tutorial donde poder continuar aprendiendo cosas sin tener que estar preguntando por aquí constantemente(al menos al principio).
GRACIAS!!