我想創建我的第一個SQL參數使用C#命令定義的,和我有一個錯誤:SQL參數並沒有命令文本的命令對象錯誤
「沒有命令文本爲COMMANDE對象定義」這裏是我的代碼:
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;
}
爲ExecuteNonQuery拋出異常枝條的:錯誤「沒有命令文本爲命令對象定義」。
這裏是我的要求:(在調試模式):
UPDATE ZZAg7eve set everelance = @everelance,
evedate = @evedate ,
evedatemo = @evedatemo ,
evetype = @evetype ,
evedes = @evedes ,
evecli = @evecli ,
evestatut = @evestatut ,
eveusermo = @eveusermo ,
eveinterv = @eveinterv where eveNum = \"00000003 \"
任何人有一些想法?
非常感謝,
最好的問候,
Nixeus
我不知道它是否相關,但爲什麼你沒有使用「where」部分的參數?通常,值是使用單引號而不是雙引號指定的,但是您最好還是使用參數。 – 2013-05-05 11:58:03