Array
(
)

Erro no insert MySQL CSharp ASP.Net

Alexandre Alves
   - 26 set 2013

Olá pessoal, sou novo e não consigo achar o erro, coloquei todos campos no MySQL VARCHAR e mesmo assim dá erro no Insert
código:
#Código

using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using MySql.Data;
using MySql.Data.MySqlClient;
using System.Web.Security;
using System.Threading.Tasks;

public partial class adm_Usuarios : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }



    protected void bntCadastrar_Click(object sender, EventArgs e)
    {
        string StrCon = ConfigurationManager.ConnectionStrings["IPConnectionString"].ConnectionString;
        string SQL = "INSERT INTRO im_user(nome, email, email2, senha, departamento, apelido, acesso, periodo, tel1, tel2, creci, endereco, rg, cpf, observacoes) VALUES (";
        SQL += "@nome, @email, @email2, @senha, @departamento, @apelido, @acesso, @periodo, @tel1, @tel2, @creci, @endereco, @rg, @cpf, @observacoes)";
        using (MySqlConnection conn = new MySqlConnection(StrCon))
        {
            using (MySqlCommand cmd = new MySqlCommand(SQL, conn))
            {
                conn.Open();

                cmd.Parameters.AddWithValue("@nome", txtNome.Text);
                cmd.Parameters.AddWithValue("@email", txtEmail.Text);
                cmd.Parameters.AddWithValue("@email2", txtEmail2.Text);
                cmd.Parameters.AddWithValue("@senha", txtSenha.Text);
                cmd.Parameters.AddWithValue("@departamento", ddlAcesso.Text);
                cmd.Parameters.AddWithValue("@apelido", txtApelido.Text);
                cmd.Parameters.AddWithValue("@acesso", ddlAcesso.Text);
                cmd.Parameters.AddWithValue("@periodo", ddlPeriodo.Text);
                cmd.Parameters.AddWithValue("@tel1", txtTel1.Text);
                cmd.Parameters.AddWithValue("@tel2", txtTel2.Text);
                cmd.Parameters.AddWithValue("@creci", txtCreci.Text);
                cmd.Parameters.AddWithValue("@endereco", txtEndereco.Text);
                cmd.Parameters.AddWithValue("@rg", txtRG.Text);
                cmd.Parameters.AddWithValue("@cpf", txtCPF.Text);
                cmd.Parameters.AddWithValue("@observacoes", txtObs.Text);

                if (cmd.ExecuteNonQuery() > 0)
                {
                    lblMsg.Text = "Cad Okey";
                }
                else
                {
                    lblMsg.Text = "Cad Erro";
                }

            }
        }
    }
}

erro:
Erro de Servidor no Aplicativo ''/''.
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''im_user(nome, email, email2, senha, departamento, apelido, acesso, periodo, tel1'' at line 1
Descrição: Ocorreu uma exceção sem tratamento durante a execução da atual solicitação da Web. Examine o rastreamento de pilha para obter mais informações sobre o erro e onde foi originado no código.
Detalhes da Exceção: MySql.Data.MySqlClient.MySqlException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''im_user(nome, email, email2, senha, departamento, apelido, acesso, periodo, tel1'' at line 1
Erro de Origem:

Linha 47: cmd.Parameters.AddWithValue("@observacoes", txtObs.Text);
Linha 48:
Linha 49: if (cmd.ExecuteNonQuery() > 0)
Linha 50: {
Linha 51: lblMsg.Text = "Cad Okey";

Arquivo de Origem: c:\inetpub\wwwroot\JCom\adm\Usuarios.aspx.cs Linha: 49
Rastreamento de Pilha:

[MySqlException (0x80004005): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''im_user(nome, email, email2, senha, departamento, apelido, acesso, periodo, tel1'' at line 1]
MySql.Data.MySqlClient.MySqlStream.ReadPacket() +383
MySql.Data.MySqlClient.NativeDriver.GetResult(Int32& affectedRow, Int64& insertedId) +116
MySql.Data.MySqlClient.Driver.GetResult(Int32 statementId, Int32& affectedRows, Int64& insertedId) +54
MySql.Data.MySqlClient.Driver.NextResult(Int32 statementId, Boolean force) +145
MySql.Data.MySqlClient.MySqlDataReader.NextResult() +1258
MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior) +2509
MySql.Data.MySqlClient.MySqlCommand.ExecuteReader() +37
MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() +164
adm_Usuarios.bntCadastrar_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\JCom\adm\Usuarios.aspx.cs:49
System.Web.UI.WebControls.Button.OnClick(EventArgs e) +9552602
System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +103
System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724

Informações sobre a Versão: Microsoft .NET Framework Versão:4.0.30319; Versão do ASP.NET:4.0.30319.18045

Paulo Freire
|
MVP
    26 set 2013

Veja que sua string está incorreta

string SQL = "INSERT INTRO im_user

deve ser

string SQL = "INSERT INTO im_user

0
|
0

Alexandre Alves
   - 26 set 2013

Obrigado Paulo, depois dessa fiquei até com vergonha rssss... tem como tratar melhor os erros no ASPX???

0
|
0

Joel Rodrigues
   - 27 set 2013

Você pode usar um block try-catch para tratar as exceções.
Veja como fazer isso neste link: http://msdn.microsoft.com/pt-br/library/0yd65esw(v=vs.90).aspx

0
|
0

Joel Rodrigues
   - 01 out 2013

Problema resolvido, estou concluindo o tópico.

0
|
0