Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

dioguito

Erro em Connection String para acesso a bd

Mensagens Recomendadas

dioguito

boas pessoal

tenho uma duvida, tou a fazer uma pequena aplicação em C# que tem acesso a base de dados em sql server, quando tento inserir um registo pela a aplicação ele da me erro...diz que a connection string nao foi inicializada.

Este é onde inicializo a connection string:

string ConnectionString = "Server=.\\SQLEXPRESS;Database=BIBLIOTECA;Trusted_Connection=True";

SqlConnection sqlcom = new SqlConnection(ConnectionString);

cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dioguito

boas

eu estou a usar este código num evento de um botão, para inserir dados na base de dados.

So tenho isto no meu código.

string ConnectionString = "Server=.\\SQLEXPRESS;Database=BIBLIOTECA;Trusted_Connection=True";

            SqlConnection sqlcom = new SqlConnection(ConnectionString);

            sqlcom.Open();

            SqlCommand cmd = new SqlCommand("INSERT INTO dbo.LIVRO VALUES('"+cdu.Text+","+titulo.Text+","+autor.Text+","+classificacao.Text+","+observacoes.Text+"')");

            cmd.ExecuteNonQuery();

         

            sqlcom.Close();

cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dioguito

desculpem esqueci me de por o texto de excepção:

************** Texto da excepção **************

System.Data.SqlClient.SqlException: Não é possível abrir o banco de dados ".\BIBLIOTECA.mdf" solicitado pelo logon. Falha de logon.

Falha de logon do usuário 'dioguito_port\dioguito_portatil'.

  em System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)

  em System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)

  em System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)

  em System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)

  em System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)

  em System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)

  em System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)

  em System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)

  em System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)

  em System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)

  em System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)

  em System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)

  em System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)

  em System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)

  em System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)

  em System.Data.SqlClient.SqlConnection.Open()

  em WindowsFormsApplication1.Form1.button4_Click(Object sender, EventArgs e) em C:\projectos_Home\Biblioteca\Aplicação\WindowsFormsApplication1\WindowsFormsApplication1\Form1.cs:line 78

  em System.Windows.Forms.Control.OnClick(EventArgs e)

  em System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)

  em System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)

  em System.Windows.Forms.Control.WndProc(Message& m)

  em System.Windows.Forms.ButtonBase.WndProc(Message& m)

  em System.Windows.Forms.Button.WndProc(Message& m)

  em System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)

  em System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ByMySlf

No SqlCommand tens que passar a SqlConnection e quais os campos a que queres atribuir os valores.

string ConnectionString = "Server=.\\SQLEXPRESS;Database=BIBLIOTECA;Trusted_Connection=True";

SqlConnection sqlcom = new SqlConnection(ConnectionString);

sqlcom.Open();

SqlCommand cmd = new SqlCommand("INSERT INTO dbo.LIVRO (campo1, campo2,campo3,campo4,campo5) VALUES ("+cdu.Text+","+titulo.Text+","+autor.Text+","+classificacao.Text+","+observacoes.Text+"')", sqlcom);

cmd.ExecuteNonQuery();
           
sqlcom.Close();

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Baderous

No SqlCommand tens que passar a SqlConnection e quais os campos a que queres atribuir os valores.

Isso não é obrigatório:

You are allowed to omit the list of column names in the SQL INSERT INTO clause, if you enter values for each of the table columns.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
ByMySlf

Exacto, não é obrigatório se inserir valores para cada uma das colunas da tabela. Como não temos informação acerca da tabela resolvi sugerir que escrevesse os campos.

De qualquer das formas, a tua informação foi uma boa dica, porque, da forma como escrevi, dei a entender que era obrigatório.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dioguito

obrigado pela dica é que eu já nao me lembrava mt disto...mas agora está me dar outro erro.

O texto de excepção é o seguinte:

************** Texto da excepção **************

System.Data.SqlClient.SqlException: O nome "Calculo" não é permitido neste contexto. As expressões válidas são constantes, expressões e (em alguns contextos) variáveis. Nomes de coluna não são permitidos.

 

cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
dioguito

boas

dá erro quando eu carrego no botão para inserir na base de dados.

O código do botão

string ConnectionString = "Server=.\\SQLEXPRESS;Database=BIBLIOTECA;Trusted_Connection=True";

            SqlConnection sqlcom = new SqlConnection(ConnectionString);

            sqlcom.Open();

            SqlCommand cmd = new SqlCommand("INSERT INTO dbo.LIVRO (CDU, TITULO,AUTOR,CLASSIFICACAO,OBSERVACAO) VALUES ("+ I_CDU.Text + "," + I_Titulo.Text + "," + I_Autor.Text + "," + I_Classificacao.Text + "," + I_obser.Text + ")", sqlcom);

            cmd.ExecuteNonQuery();

            sqlcom.Close();

cumprimentos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.