I Created this Select Stored Procedure:
@SerialNumber varchar(50)
@PalletNumber varchar(50) ------> Datatype int
SELECT
,SerialNumber
, PalletNumber
FROM dbo.FG_FILLIN
WHERE (SerialNumber LIKE @SerialNumber + '%' )
AND (PalletNumber = @PalletNumber)
I change @palletnumber to varchar because Like '%' doesnt accept int.
My Data Access :
public DataSet FGSearchAll(FillinEntity fin) {
SqlConnection conn = new SqlConnection(connStr);
SqlCommand cmd = new SqlCommand("FGSearchAll", conn);
cmd.CommandType = CommandType.StoredProcedure;
DataSet dSet = new DataSet();
SqlDataAdapter da = new SqlDataAdapter(cmd);
cmd.Parameters.Add("@SerialNumber", SqlDbType.VarChar, 50).Value = fin.SerialNumber;
cmd.Parameters.Add("@PalletNumber", SqlDbType.Int).Value = fin.PalletNumber;
try
{
conn.Open();
da.Fill(dSet, "FGDATA");
conn.Close();
}
catch (SqlException)
{
throw;
}
return dSet;
}
UI:
private void SearchAll()
{
BAL obj = new BAL();
FillinEntity fin = new FillinEntity();
fin.SerialNumber = txtSearchSerial.Text ;
**fin.PalletNumber = Convert.ToInt32(txtSearchPallet.Text);**
try
{
dsdata = obj.FGSearchAll(fin);
if (dsdata.Tables[0].Rows.Count < 1)
{
MessageBox.Show("No Record Found!");
}
else
{
dgWIP.DataSource = dsdata;
dgWIP.DataMember = "FGDATA";
}
}
catch (ApplicationException ex)
{
MessageBox.Show(ex.Message);
}
}
All Things works fine if i have input Both but when i just search for Serial number and pallet has an empty value it shows an error.
Any idea?.
Thanks in regards.