Jump to content

[Visual Studio 2008 C#] Como criar e aceder a uma base de dados


ScreamingNoises

Recommended Posts

Boas,

Eu gostava de saber como posso fazer para criar uma base de dados no Visual Studio 2008 C#.

Inicialmente a base de dados seria criada e utilizada apenas na mesma máquina. Mas eu queria que esta também pudesse ser acedida por outros computadores na rede local.

No visual studio, eu faço para adicionar um novo item ao projecto e das várias opções dadas, existe uma "local database" e uma "service-based database". Qual a diferença entre estas duas?

Obrigado desde já pela ajuda;)

Link to comment
Share on other sites

Link to comment
Share on other sites

Humm, pois, mas eu ainda nao sei sequer como criar uma base de dados local, acho que criar o linked server é um passo mais avançado.

Inicialmente só queria por isto a funcionar com uma base de dados local, depois logo vejo como faço isso dos linked server.

Seguindo um tutorial da microsoft: tutorial eu tentei criar uma base de dados local.

Primeiro criei um windows form simples, com apenas um botao para criar uma base de dados. no handler desse botao coloquei:

String str;
            SqlConnection myConn = new SqlConnection("Server=localhost;Integrated security=SSPI;database=master");

            str = "CREATE DATABASE MyDatabase ON PRIMARY " +
                "(NAME = MyDatabase_Data, " +
                "FILENAME = 'C:\\MyDatabaseData.mdf', " +
                "SIZE = 2MB, MAXSIZE = 10MB, FILEGROWTH = 10%) " +
                "LOG ON (NAME = MyDatabase_Log, " +
                "FILENAME = 'C:\\MyDatabaseLog.ldf', " +
                "SIZE = 1MB, " +
                "MAXSIZE = 5MB, " +
                "FILEGROWTH = 10%)";

            SqlCommand myCommand = new SqlCommand(str, myConn);
            try
            {
                myConn.Open();
                myCommand.ExecuteNonQuery();
                MessageBox.Show("DataBase is Created Successfully", "MyProgram", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            catch (System.Exception ex)
            {
                MessageBox.Show(ex.ToString(), "MyProgram", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            finally
            {
                if (myConn.State == ConnectionState.Open)
                {
                    myConn.Close();
                }
            }

mas quando eu clico no botão ele devolve-me o seguinte erro:

http://img181.imageshack.us/img181/1664/errobv7.jpg

Link to comment
Share on other sites

Isso penso que seja algum problema no comando... faz um print do comando, ou seja da variável str antes de criares o comando e verifica as plicas todas e assim..

Se não descobrires mostra aí o print do comando... pois deve ser aí o problema..

Fiz como disseste e o conteúdo da variável str é:

CREATE DATABASE MyDatabase ON PRIMARY (NAME = MyDatabase_Data, FILENAME = 'C:\MyDatabaseData.mdf', SIZE = 2MB, MAXSIZE = 10MB, FILEGROWTH = 10%) LOG ON (NAME = MyDatabase_Log, FILENAME = 'C:\MyDatabaseLog.ldf', SIZE = 1MB, MAXSIZE = 5MB, FILEGROWTH = 10%)

Não me parece que tenha algum problema mas continua a dar o mesmo erro.

Esta é a melhor maneira de criar uma base de dados local? e depois de a ter criada vou conseguir que outros clientes se conectem a esta base de dados através da rede, correcto?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.