Jump to content

C# e o SQL


stripeskidi
 Share

Recommended Posts

Boa noite,

Estou com grandes problemas em estabelecer a ligação entre o c# e o sql, tenho o seguinte codigo:

private void button1_Click(object sender, EventArgs e)
        {
            
       
            // string de conexão
           String connString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Program Files\\Microsoft SQL Server\\MSSQL10.MSSQLSERVER\\MSSQL\\DATA\\Badjures.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True";

            // vamos criar a conexão
            SqlConnection conn = new SqlConnection(connString);

            // a conexão foi feita com sucesso?
            try
            {
                // abre a conexão
                conn.Open();
                MessageBox.Show("A conexão foi efetuada com sucesso.");
            }
            catch (SqlException sqle)
            {
                // falhou
                MessageBox.Show("Falha ao efetuar a conexão. Erro: " + sqle);
            }

        }

Quando corro a aplicação, da o timeout e salta um erro, que diz que nao esta a ser possivel fazer a ligaçao ao servidor  🙂

Ja tenho a base de dados feita em sql pronta a usar..o que está a faltar?

Obrigado

Link to comment
Share on other sites

Bem, como neste momento estou dentro desse assunto, vou-te mostrar aqui duas maneiras. Eu não faço a ligação através de ficheiro como tu, mas vai dar ao mesmo.

Quanto ao teu erro, devias especificar mais, por exemplo, mostrando o log. Faz debug da aplicação e isso dirá onde esta o erro.

            string ligacao = "Data Source = MAQUINA\\SQLEXPRESS; Database=NOMEBASEDADOS; Integrated Security=True;";
            
            SqlConnection sqlConnection = new SqlConnection(ligacao);

            try
            {
                //Ligar
                sqlConnection.Open();
                MessageBox.Show("Ligação com sucesso!");
            }
            catch (SqlException sqlError)
            {
                //Mostra Erro
                MessageBox.Show("Erro: " + sqlError);
            }

OU

            //Instâncias
            SqlConnection sqlConnection = new SqlConnection();
            SqlConnectionStringBuilder sqlConnectionStringBuilder = new SqlConnectionStringBuilder();

            //Dados Ligação
            sqlConnectionStringBuilder.DataSource = "MAQUINA\\SQLEXPRESS";
            sqlConnectionStringBuilder.InitialCatalog = "NOMEBASEDADOS";
            sqlConnectionStringBuilder.IntegratedSecurity = true;
            sqlConnection.ConnectionString = sqlConnectionStringBuilder.ConnectionString;

            try
            {
                //Ligar
                sqlConnection.Open();
                MessageBox.Show("Ligação com sucesso!");
            }
            catch (SqlException sqlError)
            {
                //Mostra Erro
                MessageBox.Show("Erro: " + sqlError);
            }

Cumprimentos!  ?

Link to comment
Share on other sites

Obrigado =) Vou testar.

Mas no caso de eu ter que mandar a aplicação com a ligação a base de dados, neste caso a um Prof., da maneira que descreveste em cima funcionará na mesma?

Cumps

edit: nao deu.

Substitui "MAQUINA" por: localhost, por: .  e por: SQLSERVER

nwkf8n.png

Link to comment
Share on other sites

Bem, isso, é assim, ou fazes como tens, por ficheiro, ou então da maneira que te disse.

Da maneira que te disse, para o professor ter a base de dados, ou lhe envias o ficheiro de base de dados, ou então crias um script da tua base de dados, o professor executa o script e a base de dados é criada.

O professor depois para ver, terá de alterar o nome da MAQUINA.

Se não sabes como criar um script, deixo-te aqui duas imagens a explicar como:

« Imagem 1 »

« Imagem 2 »

Cumprimentos.

EDIT:

j7by5lpn4ltwg1fc0mwk.png

stripeskidi tens de usar o nome que esta no Server Name. Terás de ver qual é o teu.

PS: Estranhei o facto de teres metido .\\SQLEXPRESS, pois não é normal esse tipo de nomes. (o que não quer dizer que não possa existir, por isso mesmo estranhei)

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
 Share

×
×
  • 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.