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

Anorco

Registos

5 mensagens neste tópico

Estou a fazer um programa em c# 2008 com ligação ao sql server 2005.

Tenho o seguinte código para fazer aparecer o registo anterior:

#region Building the connection string 

                    string Server = "eu\\locadora"; 
                    string Username = "sa"; 
                    string Password = "******"; 
                    string Database = "locadora"; 

                    string ConnectionString = "Data Source=" + Server + ";"; 
                    ConnectionString += "User ID=" + Username + ";"; 
                    ConnectionString += "Password=" + Password + ";"; 
                    ConnectionString += "Initial Catalog=" + Database; 

                    #endregion 


                    #region Try to establish a connection to the database 

                    SqlConnection SQLConnection = new SqlConnection(); 

                    try 
                    { 
                        SQLConnection.ConnectionString = ConnectionString; 
                        SQLConnection.Open(); 

                        // You can get the server version 
                        // SQLConnection.ServerVersion 

                        DataSet ds = new DataSet(); 
                        string SQLStatement = string.Format("SELECT *from clientes"); 
                      
                        DataTable dt = new DataTable(); 
                        dt = ds.Tables[0]; 
                        int numrows = dt.Rows.Count; 
                        pos = pos - 1; 
                        if (pos < 0) 
                            pos = 0; 
                        

                        //Código para ir buscar os resultados 
                        textnumerocliente.Text = dt.Rows[pos]["cod_clientes"].ToString(); 
                        textnomecliente.Text = dt.Rows[pos]["nome_cliente"].ToString(); 
                        textbicliente.Text = dt.Rows[pos]["bi"].ToString(); 
                        textmoradacliente.Text = dt.Rows[pos]["morada"].ToString(); 
                        textcodpostalcliente.Text = dt.Rows[pos]["cod_postal"].ToString(); 
                        textlocalidadecliente.Text = dt.Rows[pos]["localidade"].ToString(); 
                        textelefonecliente.Text = dt.Rows[pos]["telefone"].ToString(); 
                        textelemovelcliente.Text = dt.Rows[pos]["telemovel"].ToString(); 
                        textemailcliente.Text = dt.Rows[pos]["email"].ToString(); 
                    } 
                    catch (SqlException SqlEx) 
                    { 
                        MessageBox.Show(this, SqlEx.Message, "Connection error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
                    } 
                    catch (Exception Ex) 
                    { 
                        // Try to close the connection 
                        if (SQLConnection != null) 
                            SQLConnection.Dispose(); 

                        // Create a (useful) error message 
                        string ErrorMessage = "A error occurred while trying to connect to the server."; 
                        ErrorMessage += Environment.NewLine; 
                        ErrorMessage += Environment.NewLine; 
                        ErrorMessage += Ex.Message; 

                        // Show error message (this = the parent Form object) 
                        MessageBox.Show(this, ErrorMessage, "Connection error", MessageBoxButtons.OK, MessageBoxIcon.Error); 
                    } 

                    #endregion 
                }

Quando executo o programa ele dá o seguinte erro:

"A error occurred while trying to connect to the server."

cannot find table 0

Alguém me sabe dizer porque que isto esta a acontecer?

Desde já agradeço

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Porque o teu DataSet irá estar vazio. E ao fazeres "dt = ds.Tables[0]; " vai dar erro porque não existem nenhuma table.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ok, mesmo retirando isso(que nao sei se é o certo) da o seguinte erro:

there is no row at position 0
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Com o o próprio erro indica: não há qualquer registo na posição zero, ou seja, a query não retornou nada, ou melhor, retornou um conjunto vazio.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Não estás a executar o comando sql. Nem a povoar o dataset ou a datatable.

0

Partilhar esta mensagem


Link 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