Array
(
)

Inserir mysql c#

Ricardocnn
   - 13 ago 2009

oi pessoal! eu to tomando um coro aqui!! não sei mais o que fazer!
eu consegui exibir os dados no gridview mas não consego inserir dados na tabela mysql.

#Código

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
   - 13 ago 2009

resolvido

Guinther
   - 14 ago 2009

Ricardo

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

Ricardocnn
   - 15 ago 2009

vlw pela dica!