У меня есть приложение на C #, использующее базу данных доступа.
Это приложение отлично работает в отладке и выпуске. Работает на всех версиях Windows.
Но происходит сбой на одном компьютере с Windows 7.
Сообщение, которое я получил:
System.Data.OleDb.OleDbException: No value given for one or more required parameters.
РЕДАКТИРОВАТЬ, после некоторой отладки с помощью окна сообщений на компьютере, где возникла проблема, вот код ошибки. Ошибка отлавливается в cmd.ExecuteReader (). Отображается окно сообщения juste before, а следующее - в заголовке, за исключением ниже. Есть идеи?
public List<CoeffItem> GetModeleCoeff()
{
List<CoeffItem> list = new List<CoeffItem>();
try
{
OleDbDataReader dr;
OleDbCommand cmd = new OleDbCommand("SELECT nIDModelAquacad, nIDModeleBorne, fCoefficient FROM tbl_ModelBorne ORDER BY nIDModelAquacad", m_conn);
MessageBox.Show("Commande SQL créée avec succès");
dr = cmd.ExecuteReader();
MessageBox.Show("Exécution du reader sans problème!");
while (dr.Read())
{
list.Add(new CoeffItem(Convert.ToInt32(dr["nIDModelAquacad"].ToString()),
Convert.ToInt32(dr["nIDModeleBorne"].ToString()),
Convert.ToDouble(dr["fCoefficient"].ToString())));
}
MessageBox.Show("Lecture du reader");
dr.Close();
MessageBox.Show("Fermeture du reader");
}
catch (OleDbException err)
{
MessageBox.Show("Erreur dans la lecture des modèles/coefficient: " + err.ToString());
}
return list;
}
Я думаю, что это связано со строкой подключения, но почему только на этом компьютере.
Спасибо за вашу помощь!
EDIT
Вот полное сообщение об ошибке:
См. Конец этого сообщения для получения подробной информации о вызове
Отладка по времени (JIT) вместо этого диалогового окна.
************** Исключительный текст **************
System.Data.OleDb.OleDbException: No value given for one or more required parameters.
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextErrorHandling(OleDbHResult hr)
at System.Data.OleDb.OleDbCommand.ExecuteCommandTextForSingleResult(tagDBPARAMS dbParams, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommandText(Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteCommand(CommandBehavior behavior, Object& executeResult)
at System.Data.OleDb.OleDbCommand.ExecuteReaderInternal(CommandBehavior behavior, String method)
at System.Data.OleDb.OleDbCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.OleDb.OleDbCommand.ExecuteReader()
at DatabaseLayer.DatabaseFacade.GetModeleCoeff()
at DatabaseLayer.DatabaseFacade.InitConnection(String strFile)
at CalculatriceCHW.ListeMesure.OuvrirFichier(String strFichier)
at CalculatriceCHW.ListeMesure.nouveauFichierMenu_Click(Object sender, EventArgs e)
at System.Windows.Forms.ToolStripItem.RaiseEvent(Object key, EventArgs e)
at System.Windows.Forms.ToolStripMenuItem.OnClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleClick(EventArgs e)
at System.Windows.Forms.ToolStripItem.HandleMouseUp(MouseEventArgs e)
at System.Windows.Forms.ToolStripItem.FireEventInteractive(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStripItem.FireEvent(EventArgs e, ToolStripItemEventType met)
at System.Windows.Forms.ToolStrip.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.ToolStripDropDown.OnMouseUp(MouseEventArgs mea)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ToolStrip.WndProc(Message& m)
at System.Windows.Forms.ToolStripDropDown.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)