Fórum Inserir mysql c# #24576
13/08/2009
0
eu consegui exibir os dados no gridview mas não consego inserir dados na tabela mysql.
using System;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using System.Data.Odbc;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//Definição do "Driver" para conexao e informacoes para acesso ao banco de dados
}
private const string ConnStr = "Driver={MySQL ODBC 5.1 Driver};" +
"Server=localhost;Database=test;uid=root;pwd=root;option=3";
//Definição da consulta a ser realizada
protected override void OnInit(EventArgs e)
{
base.OnInit(e);
using (OdbcConnection con = new OdbcConnection(ConnStr))
using (OdbcCommand cmd = new OdbcCommand("SELECT * FROM nomes", con))
{
con.Open();
GridView1.DataSource = cmd.ExecuteReader(
CommandBehavior.CloseConnection |
CommandBehavior.SingleResult);
GridView1.DataBind();
}
}
// inserir dados na tabela
protected void Button1_Click(object sender, EventArgs e)
{
OdbcCommand cmd = new OdbcCommand("INSERT INTO nomes VALUES(\´" + TextBox1.Text + "\´,\´");
}
}
Ricardocnn
Curtir tópico
+ 0Posts
13/08/2009
Ricardocnn
Gostei + 0
14/08/2009
Guinther
Algumas dicas:
1 - Não use ODBC para acesso ao MySQL, use o provider do próprio MySQL para acesso ao banco. Veja o link:
http://dev.mysql.com/downloads/connector/net
2 - Jamais concatene strings vindas de controles de tela em comandos SQL, isso deixa uma brecha para o uso de SQL Injection. Use parâmetros.
3 - Considere também o uso de Stored Procedures.
Att,
Guinther Pauli
http://guintherpauli.blospot.com
http://twitter.com/guintherpauli
Gostei + 0
15/08/2009
Ricardocnn
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)