Criar caixa de texto sem método messageBox do System.Windows.Form
Bom dia,
É possível criar uma caixa de texto sem o método messageBox. Há outra alternativa?
O motivo é que estou usando a biblioteca System.Web.UI.WebControls e quando coloco System.Windows.Form ocorre ambiguidade.
Obrigado,
Bruno
É possível criar uma caixa de texto sem o método messageBox. Há outra alternativa?
O motivo é que estou usando a biblioteca System.Web.UI.WebControls e quando coloco System.Windows.Form ocorre ambiguidade.
Obrigado,
Bruno
Bruno
Curtidas 0
Respostas
Joel Rodrigues
16/09/2013
Em projetos Web você não deve usar MessageBox. Você deve recorrer a mensagens JavaScript. Pesquise sobre a função alert.
GOSTEI 0
Bruno
16/09/2013
Agradeço pela dica Joel.
Eu pesquisei sobre a função ALERT, mas no caso de .Net para C# eu poderia estar utilizando esta mesma função?
Eu pesquisei sobre a função ALERT, mas no caso de .Net para C# eu poderia estar utilizando esta mesma função?
GOSTEI 0
Joel Rodrigues
16/09/2013
Pode sim. Você pode executar um código JavaScript através do C# usando a função ScriptManager.RegisterClientScriptBlock. Dê uma pesquisada sobre ela que provavelmente vai resolver seu problema.
GOSTEI 0
Bruno
16/09/2013
Olá, bom dia!
Eu alterei o método de busca de dados no SQL Server em .Net para o que está neste código abaixo:
Minha dúvida é como coloco as informações recuperadas em um DataGridView. Pois está dando erro de compilação na variável lbDados após executar a consulta.
Obrigado!
Eu alterei o método de busca de dados no SQL Server em .Net para o que está neste código abaixo:
private void btnProcurar_Click(object sender, EventArgs e) { //define os objetos DataReader, Connection e Command SqlDataReader sqldr = null; SqlConnection con = null; SqlCommand cmd = null; try { // Abre a conexão com o banco de dados Northwind no SQL Server 2005 Express // .\SQLExpress é o nome default do servidor // initial Catalog - indica o banco de dados // String usando Windows Authentication (Trusted Connection): string ConnectionString = "Data Source=.\\SQLEXPRESS;Initial Catalog=Northwind;Integrated Security=SSPI"; con = new SqlConnection(ConnectionString); con.Open(); // define um comando para selecionar os produtos e preços da tabela products string CommandText = "SELECT ProductName,UnitPrice " + "FROM Products " + "WHERE (ProductName LIKE @criterio)"; //associa comando a conexão cmd = new SqlCommand(CommandText); cmd.Connection = con; // Define o parâmetro @criterio e seu tipo de dados cmd.Parameters.Add( new SqlParameter( "@criterio", // o nome do parametro System.Data.SqlDbType.NVarChar, // o tipo de dado SqlDbType 40, // o tamanho do parametro "ProductName")); // o nome da coluna na tabela a qual se aplica // Preenche o valor do parâmetro com o texto informado // na caixa de texto : txtcriterio cmd.Parameters["@criterio"].Value = txtcriterio.Text+"%"; // executa a consulta sqldr = cmd.ExecuteReader(); lbDados.Items.Clear(); // preenche o listBox com os valores retornados // usa o método read() para percorrer o datareader while (sqldr.Read()) { lbDados.Items.Add(sqldr["ProductName"].ToString() + " - " + sqldr["UnitPrice"].ToString()); } } catch (Exception ex) { // exibe mensagem de erro MessageBox.Show(ex.Message); } finally { // fecha o data reader e a conexão if (sqldr != null) sqldr.Close(); if (con.State == ConnectionState.Open) con.Close(); } }
Minha dúvida é como coloco as informações recuperadas em um DataGridView. Pois está dando erro de compilação na variável lbDados após executar a consulta.
Obrigado!
GOSTEI 0
Joel Rodrigues
16/09/2013
Qual é o erro?
(nunca deixe de dizer qual é o erro, pois "dá um erro" fica muito genérico)
(nunca deixe de dizer qual é o erro, pois "dá um erro" fica muito genérico)
GOSTEI 0
Bruno
16/09/2013
GOSTEI 0
Bruno
16/09/2013
Desculpe, acabei esquecendo de reportar o erro.
Erro: The name 'lbDados' does not exist in the current context
Erro: The name 'lbDados' does not exist in the current context
GOSTEI 0
Bruno
16/09/2013
Consegui desenvolver a aplicação do formato que estava pensando.
O único problema agora é que a variável dataGridView1 não existe e não sei se coloco como variável local ou global. Alguém poderia me ajudar (segue o código abaixo)?
O único problema agora é que a variável dataGridView1 não existe e não sei se coloco como variável local ou global. Alguém poderia me ajudar (segue o código abaixo)?
protected void Button1_Click(object sender, EventArgs e) { SqlDataReader sqldr = null; SqlConnection con = null; SqlCommand cmd = null; try { string ConnectionString = "Data Source=SIDI06;Initial Catalog=dbIntranetAdm;Integrated Security=SSPI"; con = new SqlConnection(ConnectionString); con.Open(); string CommandText = "SELECT * " + "FROM exp_expenses_details " + "WHERE (expense_id LIKE @criterio)"; cmd = new SqlCommand(CommandText); cmd.Connection = con; cmd.Parameters.Add( new SqlParameter( "@criterio", System.Data.SqlDbType.NVarChar, 40, "expense_id")); cmd.Parameters["@criterio"].Value = TextBox4.Text + "%"; sqldr = cmd.ExecuteReader(); //lbDados.Items.Clear(); int nColunas = sqldr.FieldCount; for (int i = 0; i < nColunas; i++) { dataGridView1.Columns.Add(sqldr.GetName(i).ToString(), sqldr.GetName(i).ToString()); } string[] linhaDados = new string[nColunas]; while (sqldr.Read()) { //lbDados.Items.Add(sqldr["expense_id"].ToString()); for (int a = 0; a < nColunas; a++) { if (sqldr.GetFieldType(a).ToString() == "System.Int32") { linhaDados[a] = sqldr.GetInt32(a).ToString(); } if (sqldr.GetFieldType(a).ToString() == "System.String") { linhaDados[a] = sqldr.GetString(a).ToString(); } if (sqldr.GetFieldType(a).ToString() == "System.DateTime") { linhaDados[a] = sqldr.GetDateTime(a).ToString(); } } dataGridView1.Rows.Add(linhaDados); } } catch (Exception ex) { ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "sua-mensagem", "alert('Informe um número a procurar')", true); } finally { if (sqldr != null) sqldr.Close(); if (con.State == ConnectionState.Open) con.Close(); } }
GOSTEI 0
Joel Rodrigues
16/09/2013
Não entendi qual é a dificuldade. Se o DataGridView não existe, coloque-o na tela para poder acessá-lo.
GOSTEI 0
Joel Rodrigues
16/09/2013
Não entendi qual é a dificuldade. Se o DataGridView não existe, coloque-o na tela para poder acessá-lo.
GOSTEI 0
Joel Rodrigues
16/09/2013
Não entendi qual é a dificuldade. Se o DataGridView não existe, coloque-o na tela para poder acessá-lo.
GOSTEI 0
Bruno
16/09/2013
Então eu coloquei na tela o componente dataGridView. O problema que na codificação (classe.cs) ele reclama de que não existe a variável dataGridView1.
Nesse caso, teria que declarar como global, certo?
Nesse caso, teria que declarar como global, certo?
GOSTEI 0
Joel Rodrigues
16/09/2013
Você não precisa declarar o DataGridView. Veja se o nome dele é realmente dataGridView1, pois como você adicionou um novo controle, o nome pode ser outro.
GOSTEI 0
Bruno
16/09/2013
Tópico concluído também.
GOSTEI 0
Joel Rodrigues
16/09/2013
Obrigado pelo feedback. Tópico concluído.
GOSTEI 0