public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArg
Check in your class if you have only one attribute nullable like this : decimal? , put it in decimal. For all of your attributes which have the question mark in there declaration, delete the question mark simply and execute.
Try this :
public partial class Form2 : Form
{
public Form2()
{
InitializeComponent();
}
private void Form2_Load(object sender, EventArgs e)
{
RST_DBDataContext db = new RST_DBDataContext();
var d = (from s in db.TblSpareParts
select new { s.SPartName, s.SPartCode, s.ModelID, s.SPartLocation, s.SPartActive, newPartSalePrice = s.SPartSalePrice == null ? 0 : s.SPartSalePrice }).ToArray();
CrystalReport1 c = new CrystalReport1();
c.SetDataSource(d);
crystalReportViewer1.ReportSource = c;
}
}
you should check for null in the selection with
s.SPartSalePrice == null ? 0 : s.SPartSalePrice
whetherit is null or not if it is null then it will return 0 otherwise it returns the value and assign it to the new variable
newPartSalePrice = s.SPartSalePrice == null ? 0 : s.SPartSalePrice
iF Data Type is String then
SPartSalePrice =s.SPartSalePrice == null ? "" : s.SPartSalePrice;
which show blank if data is null else show data.
If data type is int then
PartSalePrice = s.SPartSalePrice == null ? 0 : s.SPartSalePrice
Use the null coalescing or conditional operators in your anonymous projection to map out the null:
Coalescing:
var d = (from s in db.TblSpareParts
select new
{
s.SPartName,
...,
SPartSalePrice = s.SPartSalePrice ?? 0.0,
...
}).ToArray();
Conditional (Not really useful for nulls, but useful for projecting other values)
SPartSalePrice = s.SPartSalePrice == null ? 0.0 : s.SPartSalePrice,
The field needs to be given a name (I've kept the original one, SPartSalePrice), and the type of substitution (0.0) should match the type of the field.
maybe One of your object values is Null. try something like that
private void Form2_Load(object sender, EventArgs e)
{
RST_DBDataContext db = new RST_DBDataContext();
var d = (from s in db.TblSpareParts
select new {
s.SPartName?? DBNull.Value,
s.SPartCode?? DBNull.Value,
s.ModelID ?? DBNull.Value,
s.SPartLocation ?? DBNull.Value,
s.SPartActive ?? DBNull.Value,
s.SPartSalePrice ?? DBNull.Value,
}).ToArray();
CrystalReport1 c = new CrystalReport1();
c.SetDataSource(d);
crystalReportViewer1.ReportSource = c;
}