Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
dioguito

Erro em Connection String para acesso a bd

Recommended Posts

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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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();

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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.

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other 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

Share this post


Link to post
Share on other sites
ByMySlf

O código do botão é somente isso?

É que não estou a ver a relação do erro com esse código.

Share this post


Link to post
Share on other sites
dioguito

sim é só para inserir na base de dados mais nada...mas depois vai ter mais codigo posterior.

brigado

Share this post


Link to post
Share on other sites
ByMySlf

O estranho no erro é que fala em "calculo" e no teu código não existe nada com o nome de calculo.

Share this post


Link to post
Share on other sites
dioguito

o nome calculo foi o nome de exemplo que pôs na caixa de texto do campo titulo.

cumprimentos

Share this post


Link to post
Share on other sites
dioguito

boas

já resolvi o problema faltavam plicas entre cada caixa de texto da query.

brigado por tudo  ;)

cumprimentos

Share this post


Link to post
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
Sign in to follow this  

×

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.