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
   - 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