edittted:異常:System.NullReferenceException:未將對象引用設置爲對象的實例。在C#中?
我已經調試,我弄清楚,有一次我填寫的所有字段,autmatically生成一個新的行空的,一旦它被保存在dabase,它與循環的foreach跟隨,並automaticaly檢測空引用這是一個圖像,我希望你能理解我img8.imageshack.us/i/error3xh.jpg
我需要你的幫助,我無法控制異常,這裏是我的方法和錯誤說System .NullReferenceException:對象引用未設置爲對象的實例「,我該如何解決它,控制exeption,不再有這種類型的消息?,不管它的結構如何:錯誤是行** if(combo3 == null || combo4 == null)**
private void btnCronograma_Click(object sender, EventArgs e)
{
string connstring = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\\Users\\amaury\\Documents\\TEC\\Septimo Semestre\\Administracion de proyectos de ingenieria de softwaere\\nuevo4\\nuevo\\Office\\Office\\Policias.accdb";
using (OleDbConnection conn = new OleDbConnection(connstring))
{
conn.Open();
string sql = "INSERT INTO IndicadorProyecto (idProyecto, idMes, meta, real) VALUES(@idProyecto , @idMes , @meta, @real)";
OleDbCommand cmd = new OleDbCommand(sql, conn);
foreach (DataGridViewRow row in dataGridView8.Rows)
{
DataGridViewComboBoxCell combo3 = row.Cells["idProyecto"] as DataGridViewComboBoxCell;
DataGridViewComboBoxCell combo4 = row.Cells["idMes"] as DataGridViewComboBoxCell;
if (combo3 == null || combo4 == null)
{
MessageBox.Show("No se pudo convertir");
continue;
}
int idProyecto = int.Parse(combo3.Value.ToString());
int idMes = int.Parse(combo4.Value.ToString());
int meta = int.Parse(row.Cells[3].Value.ToString());
int real = int.Parse(row.Cells[4].Value.ToString());
cmd.Parameters.Clear();
cmd.Parameters.AddWithValue("@idProyecto", idProyecto);
cmd.Parameters.AddWithValue("@idMes", idMes);
cmd.Parameters.AddWithValue("@meta", meta);
cmd.Parameters.AddWithValue("@real", real);
cmd.ExecuteNonQuery();
}
}
}
這是完全錯誤
Consulte EL最終德埃斯特mensaje對 obtenerMÁSdetalles自我COMO invocar一拉depuración剛剛在時間 (JIT) en lugar de a este cuadro de diálogo。
**************文件格式錯誤************** System.NullReferenceException: Referencia a objeto no establecida como instancia de un objeto。烯 Office.Form1.btnCronograma_Click(對象 發件人,EventArgs的)烯 C:\用戶\阿默裏\文件\ TEC \ Septimo Semestre \ Administracion德PROYECTOS 德INGENIERIA德 softwaere \ nuevo4 \努埃沃\辦公室\辦公室\ Form1.cs中:拉利內阿 726 EN System.Windows.Forms.Control.OnClick(EventArgs的 E)EN System.Windows.Forms.Button.OnClick(EventArgs的 E)EN System.Windows.Forms.Button.OnMouseUp (MouseEventArgs mevent)en System.Windows.Forms.Control.WmMouseUp(Message & m,MouseButtons button,Int32 clicks) 烯System.Windows.Forms.Control.WndProc(消息& 米)烯 System.Windows.Forms.ButtonBase.WndProc(消息& 米)烯 System.Windows.Forms.Button.WndProc(消息& 米)烯 System.Windows.Forms.Control.ControlNativeWindow.OnMessage(消息& 米)烯 System.Windows.Forms.Control.ControlNativeWindow.WndProc(消息& 米)烯 System.Windows.Forms.NativeWindow。回調(IntPtr hWnd,Int32 msg,IntPtr wparam,IntPtr lparam)
哪一行給出錯誤?我在猜'int.Parse'的一行。 – ChrisF 2010-11-21 19:52:05
錯誤是在行if(combo3 == null || combo4 == null) – peggalvan 2010-11-21 19:57:52
我刪除該行和錯誤說在foreach(dataGridView8.Rows DataGridViewRow行),我不知道 – peggalvan 2010-11-21 20:06:26