I have found the following solution on one of the forums but I dont remember which one, (please tell me if you are know the original post and I will link to it.)
Here are the steps required to add a barcode on crysal report.
1) Add a column of type byte array to the dataset used in the report.
2) Open the crytal report and verify the database so the newly added column gets updated in the crytal report.
3) In the crystal designer, drag the new database column on the design surface and drop it on the desired location.
4) In the method that generates the report, add the following code to stuff the content of the barcode image into the new column.
Dim fsImageFile As FileStream
Dim brReader As BinaryReader
fsImageFile = New FileStream(strBarcodeImageFilePath, FileMode.Open)
brReader = New BinaryReader(fsImageFile)
Dim bImageByte(Convert.ToInt32(fsImageFile.Length + 1)) As Byte
bImageByte = brReader.ReadBytes(Convert.ToInt32(fsImageFile.Length))
drMyCrystalReport.BarcodeImage = bImageByte
In the above example drMyCrystalReportis the datarow for the dataset and BarcodeImage is the column that was added to the dataset.
This code adds the content of the image file to the database column and crystal reports displays that content when this column is added to it.