我使用Sybase.AdoNet2.AseClient從控制檯C#應用程序中訪問Sybase ASE數據。並不總是,但不時,我得到System.NullReferenceException下面的代碼。AseDataReader引發的System.NullReferenceException
它只適用於一個啓動的應用程序,但如果我在我的計算機中同時啓動10個進程,則會失敗並出現此異常。
public void Dummy()
{
List<string> valueList = new List<string>();
AseParameter[] arParms = new AseParameter[1];
arParms[0] = new AseParameter("@date", AseDbType.Date);
arParms[0].Value = Convert.ToDateTime("1/08/2010");
AseCommand spCommand = new AseCommand();
spCommand.CommandType = CommandType.StoredProcedure;
spCommand.Connection = connection;
spCommand.CommandText = "MyStoredProcedure";
spCommand.Parameters.AddRange(arParms);
AseDataReader reader = spCommand.ExecuteReader();
while (reader.Read())
{
if (reader["MyColumn"] != DBNull.Value)
valueList.Add(reader["MyColumn"].ToString());
}
}
它發生在「同時(reader.Read())」,並已以下調用堆棧的線。
System.NullReferenceException:未將對象引用設置爲對象的實例。 在Sybase.Data.AseClient1.AseDataReader.Read()
在Sybase.Data.AseClient.AseDataReader.Read()
在虛擬()
會很感激,如果有人能幫助我。
它發生在 「while(reader.Read())」行,並具有以下調用堆棧。 System.NullReferenceException:未將對象引用設置爲對象的實例。 ()上的Sybase.Data.AseClient.AseDataReader.Read() 上的Sybase.Data.AseClient1.AseDataReader.Read() 上的( ) – Sam 2010-08-19 05:54:28