• Miércoles 20 de Noviembre de 2024, 14:28

Autor Tema:  Problema Con Un Insert En C#  (Leído 5105 veces)

alfguzman

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Problema Con Un Insert En C#
« en: Miércoles 6 de Julio de 2005, 20:05 »
0
Hola tengo un problema, tengo el siguiente codigo:

Tengo una BD en access y el error que me manda al intentar insertar los datos es:
Syntax Error: INSERT INTO statement.

Segun yo ya la revise bien y no puedo resolver el problema alguein me puede echar una mano.


Gracias y saludos



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

    }
    private int RandomNumber(int min, int max)
    {
        Random random = new Random();
        return random.Next(min, max);
    }
   
    private string RandomString(int size, bool lowerCase)
    {
        StringBuilder builder = new StringBuilder();
        Random random = new Random();
        char ch;
        for (int i = 0; i < size; i++)
        {
            ch = Convert.ToChar(Convert.ToInt32(26 * random.NextDouble() + 65));
            builder.Append(ch);
        }
        if (lowerCase)
            return builder.ToString().ToLower();
        return builder.ToString();
    }

    private string getFecha()
    {
        string fecha;
        fecha = DateTime.Now.ToShortDateString();
        return fecha;
    }

    private string getHora()
    {
        string hora;
        hora = DateTime.Now.ToShortTimeString();
        return hora;
    }


    protected void btnEnviar_Click(object sender, EventArgs e)
    {
        int num = 0;
        String Folio;
        String letra;
        String fechaActual;
        String horaActual, qryInsert;
        String sFolio, sNombreRemite, sApellidoRemite, sDpto, sSite, sEmail, sExt;

        num = RandomNumber(0, 100000);
        letra = RandomString(2, true);
        Folio = letra + "-" + txtExtencion.Text + num.ToString();
               
       
        fechaActual = getFecha();
        horaActual = getHora();
       
        String strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;";
        strConnection += "Data Source=c:\\mensajeria.mdb";


        sFolio = Folio;
        sNombreRemite = Request.Form["txtNombreRemitente"];
        sApellidoRemite = Request.Form["txtApellidoRemitente"];
        sDpto = Request.Form["txtDepartamento"];
        sSite = Request.Form["radioBtnSiteOrigen"];
        sEmail = Request.Form["txtEmail"];
        sExt = Request.Form["txtExtencion"];

        qryInsert = "INSERT INTO Remitente (folio, NombreRemitente, ApellidosRemitente, Departamento, Site, e-mail, ext)" +
                    "VALUES (" + sFolio + ", " + sNombreRemite + ", " + sApellidoRemite + ", " + sDpto + ", " + sSite + ", " + sEmail + ", " + sExt + ")";
        lblMessage.Visible = true;
        lblMessage.Text = sSite + "El folio es: " + sFolio;
        OleDbConnection objConnection = new OleDbConnection(strConnection);
        OleDbCommand myCommand = new OleDbCommand(qryInsert, objConnection);
        int rows = 0;

             
          objConnection.Open();

         rows = myCommand.ExecuteNonQuery();        
         
         objConnection.Close(); }
       
    }
}

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema Con Un Insert En C#
« Respuesta #1 en: Miércoles 6 de Julio de 2005, 20:09 »
0
te faltan las comillas de los valores en el insert
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

alfguzman

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Problema Con Un Insert En C#
« Respuesta #2 en: Miércoles 6 de Julio de 2005, 20:15 »
0
ya se las puse y me sigue enviando el mismo problema me podrias dar otro tip

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema Con Un Insert En C#
« Respuesta #3 en: Miércoles 6 de Julio de 2005, 20:20 »
0
muestrame como las pusiste.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

alfguzman

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Problema Con Un Insert En C#
« Respuesta #4 en: Miércoles 6 de Julio de 2005, 20:22 »
0
Las puse asi dime si estoy mal:


qryInsert = "INSERT INTO Remitente (folio, NombreRemitente, ApellidosRemitente, Departamento, Site, e-mail, ext)" +
                    "VALUES ('" + sFolio + "', '" + sNombreRemite + "', '" + sApellidoRemite + "', '" + sDpto + "', '" + sSite + "', '" + sEmail + "', '" + sExt + "')";

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema Con Un Insert En C#
« Respuesta #5 en: Miércoles 6 de Julio de 2005, 20:24 »
0
hasle debug a tu aplicacion y mustrame el valor de la variable

qryInsert

despues de haberle asignado la sentencia de insert.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

alfguzman

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Problema Con Un Insert En C#
« Respuesta #6 en: Miércoles 6 de Julio de 2005, 20:30 »
0
Esto es lo que me regreso. No estare mal en la creacion de la conexión o algo asi, yo soy realmente nuevo en .Net.

Los tipos de datos de la tabla access Remitente estan como TEXT

INSERT INTO Remitente (folio, NombreRemitente, ApellidosRemitente, Departamento, Site, e-mail, ext)VALUES ('gw-899922464', 'Alfredo', 'Guzman', 'ventas', 'periferico', 'nombre.apellido@algo.com', '8999')

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: Problema Con Un Insert En C#
« Respuesta #7 en: Miércoles 6 de Julio de 2005, 20:34 »
0
no se supone qu eran comillas dobles? :blink:
corrigeme sino.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

alfguzman

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Problema Con Un Insert En C#
« Respuesta #8 en: Miércoles 6 de Julio de 2005, 20:36 »
0
ya no se ni de cuales ni en donde estoy bien embolado con esta madre

locoproyecto

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Problema Con Un Insert En C#
« Respuesta #9 en: Martes 19 de Julio de 2005, 16:46 »
0
disculpen que me introdusca en discucion pero tengo una duda, que este muy relacionada con el tema de insert pero en el oracle, donde intento insertar una cadena caracteres en un campo clob y me da error  :lightsabre: si me puden ayudar..

alexa106

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Re: Problema Con Un Insert En C#
« Respuesta #10 en: Sábado 22 de Agosto de 2009, 22:02 »
0
No se si tu problema radique en la conexion al Bd

String strConnection = "Provider=Microsoft.Jet.OLEDB.4.0;";
strConnection += "Data Source=c:\mensajeria.mdb";


Normalmente yo utilizo esta conexion... espero ke te sirva...

String strConnection  = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + Application.StartupPath + @"mensajeria.mdb";

PrescottW32

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
Re: Problema Con Un Insert En C#
« Respuesta #11 en: Domingo 23 de Agosto de 2009, 17:46 »
0
Hola que tal a todos,

Bueno, creo que a mi humilde manera de ver este error, creo que no es cuestio de la conexion, oye una pregunta cuando llega al momento de tu Open() si pones unbreak point si pasa la conexion?

esta es la sintaxis del insert
sql := ""
sql := sql + "INSERT INTO StudentOptionChoices ( StudentID, ModuleCode, semester, Academic_Year ) " ;
sql := sql + " VALUES ('" ;
sql := sql + DBGStudentsList.datasource.dataset.FieldByName('studentID').AsString ;
sql := sql + "','" ;
sql := sql + DBGAvailableModules.datasource.dataset.FieldByName('ModuleCode').AsString ;
sql := sql + "','" ;
sql := sql + DBGAvailableModules.datasource.dataset.FieldbyName('semester').AsString ;
sql := sql + "','" ;
sql := sql + quotedstr(AcadYear) ;
sql := sql + "')" ;

lo separe de esa manera para que veas donde debe llevar las comillas, si puedes poner tu sqlCommand o tu variable de esta manera seria mas facil ayudarte y mas rapido :-), ya intentaste hacer una insercion normal? es decir directo en el managment? y compara tu variable contra tu insercion manual, intenta con pocos valores y que correspondan cada uno al que debe ser el correcto en el campo, saludos