Pregunta

I would like to create my first SQL Parameters command with c#, and i have an error : "No command text is defined for the commande object"

Here is my code :

string maRequete = "UPDATE "  + strNomTable + " set everelance = @everelance,"
    + "evedate = @evedate ,"
    + "evedatemo = @evedatemo ,"
    + "evetype = @evetype ,"
    + "evedes = @evedes ,"
    + "evecli = @evecli ,"
    + "evestatut = @evestatut ,"
    + "eveusermo = @eveusermo ,"
    + "eveinterv = @eveinterv where eveNum = " + '"' + strEvtNumeroString.ToString() + '"';

OleDbCommand DbCommand = new OleDbCommand(maRequete);

DbCommand.Parameters.Add("@everelance", OleDbType.Date);
DbCommand.Parameters.Add("@evedate", OleDbType.Date);
DbCommand.Parameters.Add("@evedatemo", OleDbType.Date);
DbCommand.Parameters.Add("@evetype", OleDbType.VarChar);
DbCommand.Parameters.Add("@evedes", OleDbType.VarChar);
DbCommand.Parameters.Add("@evecli", OleDbType.VarChar);
DbCommand.Parameters.Add("@evestatut", OleDbType.VarChar);
DbCommand.Parameters.Add("@eveusermo", OleDbType.VarChar);
DbCommand.Parameters.Add("@eveinterv", OleDbType.VarChar);

DbCommand.Parameters["@everelance"].Value = m_dDateRelance.Date.ToString("d", m_UsCulture);
DbCommand.Parameters["@evedate"].Value = m_dDate.ToString(m_UsCulture);
DbCommand.Parameters["@evedatemo"].Value = m_dDateModificaton.ToString(m_UsCulture);
DbCommand.Parameters["@evetype"].Value = m_strEvtType.ToString().Trim();
DbCommand.Parameters["@evedes"].Value = m_strDesignation.ToString().Trim();
DbCommand.Parameters["@evecli"].Value = m_strCodeClient.ToString().Trim();
DbCommand.Parameters["@evestatut"].Value = "";
DbCommand.Parameters["@eveusermo"].Value = m_strUserModification;
DbCommand.Parameters["@eveinterv"].Value = m_strCodeIntervenant.ToString().Trim();

try
{
    string strStringConnect = @"Provider=vfpoledb.1;Data Source=" + m_strDirectoryDBF + @"\" + strDbfFile + ".dbf;Collating Sequence=general";
    OleDbConnection DbConnection = new OleDbConnection(strStringConnect);


    DbConnection.Open();
    DbCommand.Connection = DbConnection;


    DbCommand = DbConnection.CreateCommand();

    DbCommand.ExecuteNonQuery();
    return "O";
}
catch (Exception Ex)
{
    return Ex.Message;
}

The ExecuteNonQuery raise the exception withe the : "No command text is defined for the command object " error.

Here is my Request : ( in debug mode ) :

    UPDATE ZZAg7eve set everelance = @everelance,
evedate = @evedate ,
evedatemo = @evedatemo ,
evetype = @evetype ,
evedes = @evedes ,
evecli = @evecli ,
evestatut = @evestatut ,
eveusermo = @eveusermo ,
eveinterv = @eveinterv where eveNum = \"00000003       \"

Anyone have some ideas ?

Thanks a lot,

Best regards,

Nixeus

¿Fue útil?

Solución

Remove this line: DbCommand = DbConnection.CreateCommand();

You already have a command, no need to create a new one.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top