using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.Sql;
using System.Data.SqlClient;
namespace PRESCRIPTION_WRITER
{
public partial class Medicine_Master : Form
{
CLSMedicine objMedi = new CLSMedicine();
public Medicine_Master()
{
InitializeComponent();
BindCat();
}
private void BindCat()
{
DataTable dt = objMedi.CreateTempTable(objMedi.GetReport2());
DataRow dr;
dr = dt.NewRow();
dr["Short_Name"] = "--Select--";
dr["Category_ID"] = "-1";
dt.Rows.InsertAt(dr, 0);
ddl_Category.DataSource = dt;
ddl_Category.SelectedIndex = 0;
ddl_Category.DisplayMember = "Short_Name";
ddl_Category.ValueMember = "Category_ID";
}
private void BindUnit(int Category_ID)
{
DataTable dt = objMedi.CreateTempTable(objMedi.GetReport1());
DataRow dr;
dr = dt.NewRow();
dr["Unit_name"] = "--Select--";
dr["Unit_ID"] = "-1";
dt.Rows.InsertAt(dr, 0);
ddl_Category.DataSource = dt;
ddl_Unit.SelectedIndex = -1;
ddl_Unit.DisplayMember = "Unit_name";
ddl_Unit.ValueMember = "Unit_ID";
}
private void ddl_Category_SelectedIndexChanged(object sender, EventArgs e)
{
if (ddl_Category.SelectedIndex.ToString() != "-1")
{
objMedi .Category_ID = Convert.ToInt32(ddl_Category.SelectedValue.ToString());
BindUnit(objMedi.Category_ID);
}
}
}
}
and Class files code is :::
using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.Sql;
using System.Data.SqlClient;
namespace PRESCRIPTION_WRITER
{
class CLSMedicine
{string Constr = System.Configuration.ConfigurationManager.AppSettings["constr"].ToString();
private string _Medicine_name, _Generic_Name, _Strength;
private int _ID, _Unit_ID, _Category_ID;
public int ID
{
get { return _ID; }
set { _ID = value; }
}
public string Medicine_name
{
get { return _Medicine_name; }
set { _Medicine_name = value; }
}
public string Generic_Name
{
get { return _Generic_Name; }
set { _Generic_Name = value; }
}
public string Strength
{
get { return _Strength; }
set { _Strength = value; }
}
public int Unit_ID
{
get { return _Unit_ID; }
set { _Unit_ID = value; }
}
public int Category_ID
{
get { return _Category_ID; }
set { _Category_ID = value; }
}
public DataTable CreateTempTable(SqlDataReader oledr)
{
DataTable myTable = new DataTable();
DataRow TableRow;
for (int intColumn = 0; intColumn < oledr.FieldCount; intColumn++)
{
myTable.Columns.Add(new DataColumn(oledr.GetName(intColumn).ToString(), typeof(string)));
}
while (oledr.Read())
{
TableRow = myTable.NewRow();
for (int intColumn = 0; intColumn < oledr.FieldCount; intColumn++)
{
TableRow[oledr.GetName(intColumn).ToString()] = oledr[intColumn].ToString();
}
myTable.Rows.Add(TableRow);
}
return myTable;
}
public SqlDataReader GetReport()
{
SqlParameter[] pram = new SqlParameter[1];
pram[0] = new SqlParameter("@type", 1);
return SqlHelper.ExecuteReader(Constr, "Medi", CommandType.StoredProcedure, pram);
}
public SqlDataReader GetReport1()
{
SqlParameter[] pram = new SqlParameter[2];
pram[0] = new SqlParameter("@type", 5);
pram[1] = new SqlParameter("@Category_ID", Category_ID);
return SqlHelper.ExecuteReader(Constr, "Medi", CommandType.StoredProcedure, pram);
}
public SqlDataReader GetReport2()
{
SqlParameter[] pram = new SqlParameter[1];
pram[0] = new SqlParameter("@type", 5);
return SqlHelper.ExecuteReader(Constr, "Uni", CommandType.StoredProcedure, pram);
}
public int MedicineInsert()
{
try
{
SqlParameter[] pram = new SqlParameter[6];
pram[0] = new SqlParameter("@Medicine_name", Medicine_name);
pram[1] = new SqlParameter("@Generic_Name", Generic_Name );
pram[2] = new SqlParameter("@Strength", Strength );
pram[3] = new SqlParameter("@Unit_ID", Unit_ID);
pram[4] = new SqlParameter("@Category_ID", Category_ID);
pram[5] = new SqlParameter("@Type", 2);
return SqlHelper.ExecuteNonQuery(Constr, "Medi", CommandType.StoredProcedure, pram);
}
catch
{
return -1;
}
finally
{
}
}
public int MedicineDelete()
{
SqlParameter[] pram = new SqlParameter[2];
pram[0] = new SqlParameter("@Type", 4);
pram[1] = new SqlParameter("@ID", ID);
return SqlHelper.ExecuteNonQuery(Constr, "Medi", CommandType.StoredProcedure, pram);
}
public int MedicineUpdate()
{
SqlParameter[] pram = new SqlParameter[7];
pram[0] = new SqlParameter("@Medicine_name", Medicine_name);
pram[1] = new SqlParameter("@Generic_Name", Generic_Name);
pram[2] = new SqlParameter("@Strength", Strength);
pram[3] = new SqlParameter("@Unit_ID", Unit_ID);
pram[4] = new SqlParameter("@Category_ID", Category_ID);
pram[5] = new SqlParameter("@Type", 3);
pram[6] = new SqlParameter("@ID", ID);
return SqlHelper.ExecuteNonQuery(Constr, "Medi", CommandType.StoredProcedure, pram);
}
}
}
Error Show that"Input string was not in a correct format."
What I have tried:
I want to use first Combobox and after that populate Second Combo Box.
Table design
"Category"
Category_ID int Unchecked
Category_name nvarchar(50) Checked
Short_Name nvarchar(50) Checked
Unchecked
And
"Unit"
Unit_ID int Unchecked
Unit_name nvarchar(50) Checked
Category_ID int Checked
Unchecked
Please Help Me..