Question

i have this code:

 private void btGuardar_Click(object sender, EventArgs e)
        {
            if (txDescrip.Text.Trim().Equals("") == false && txPath.Text.Trim().Equals("") == false)
            {
                try
                {
                    byte[] imgData = getMyFileBytes(txPath.Text);
                    //Server connection
                    OleDbConnection connection = new OleDbConnection(strcx);
                    String q = "INSERT INTO MisImagenes (Id,CustomImage) values(@MyPath, @ImageData)";
                    //Initialize sql command object for insert
                    OleDbCommand command = new OleDbCommand(q, connection);
                    //We are passing original image path and image byte data as sql parameters
                    OleDbParameter pMyPath = new OleDbParameter("@MyPath", (object)txPath.Text);
                    OleDbParameter pImgData = new OleDbParameter("@ImageData", (object)imgData);
                    command.Parameters.Add(pMyPath);
                    command.Parameters.Add(pImgData);
                    //Open connection and execute insert query
                    connection.Open();
                    command.ExecuteNonQuery();
                    connection.Close();
                    Mensaje.aviso("Imagen Guardada :)");
                    //Limpiamos
                    clearAlta();
                }
                catch (Exception exc)
                {
                    Mensaje.aviso("Something went wrong! :( " + exc.Message);
                }
            }
        }

when i execute this says "Must declare the scalar variable "@MyPath"." ... any help? please, thank you.

I'm just trying to save an image to my sqlserver db by selecting the path and id description for the image. and i just get this frustrating error

Was it helpful?

Solution

you should use '?' instead of parameter names in oledb queries

INSERT INTO MisImagenes (Id,CustomImage) values(?, ?)

similar question and answer: OleDbCommand parameters order and priority

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top