公布部分C#编写库存管理软件代码供所有.Net开发爱好者共同学习。
代码网友可直接引用,如转载请注明出处。
http://spaces.msn.com/zhihongf/
第一部分根据搜索条件搜索数据库,并返回数据填充ListView控件。
代码编写:方志洪
E-mail:zhihongf@Gmail.com
2006年2月3日。
#region 读取数据库获取所有产品并存入DataSet
/// <summary>
/// DataSet保存所有产品;
/// </summary>
private System.Data.DataSet DsProduct=new System.Data.DataSet("AllProduct");
/// <summary>
/// 读取数据库获取所有产品信息并填充DataSet;
/// </summary>
private void GetAllProductAddDataSet()
{
this.DsProduct.Clear();
//声明数据库链接
string strCommandText="SELECT * FROM [产品清单]";
System.Data.SqlClient.SqlConnection sqlconnection=new System.Data.SqlClient.SqlConnection();
sqlconnection.ConnectionString=AppConfig.ClassDataLinkString.DataConnection;
try
{
System.Data.SqlClient.SqlDataAdapter sqldataadapter=new System.Data.SqlClient.SqlDataAdapter(strCommandText,sqlconnection);
sqldataadapter.Fill(this.DsProduct,"tableAllProduct");
}
catch(System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
sqlconnection.Close();
}
}
#endregion
#region 根据查询条件返回的DataRow[] 数组填充ListView控件;
/// <summary>
/// 根据查询条件返回的DataRow[] 数组填充ListView控件;
/// </summary>
/// <param name="drsProductList">填充ListView的DataRow[] 数组</param>
private void UseDataRowFillListView(System.Data.DataRow[] drsProductList)
{
this.listViewProduct.BeginUpdate();
int m_intBackColor=0;
foreach(System.Data.DataRow m_dr in drsProductList)
{
System.Windows.Forms.ListViewItem m_lvi=new ListViewItem();
m_lvi.Text=m_dr["产品编号"].ToString();
m_lvi.SubItems.Add(m_dr["产品名称"].ToString());
m_lvi.SubItems.Add(m_dr["规格"].ToString());
m_lvi.SubItems.Add(System.Decimal.Parse(m_dr["目前库存量"].ToString()).ToString("0.##"));
m_lvi.SubItems.Add(m_dr["包装单位"].ToString());
m_lvi.SubItems.Add(m_dr["产品存放区域"].ToString());
m_lvi.SubItems.Add(m_dr["备注"].ToString());
//改变奇数偶数行的背景色
m_intBackColor+=1;
if(m_intBackColor%2==0)
{
m_lvi.BackColor=Color.FromArgb(245,245,245);
}
//判断当前产品是否还有库存
if(System.Decimal.Parse(m_dr["目前库存量"].ToString()) <= System.Decimal.Parse(m_dr["库存预警"].ToString()))
{
m_lvi.ForeColor=Color.Blue;
if(System.Decimal.Parse(m_dr["目前库存量"].ToString())==0)
{
m_lvi.ForeColor=Color.Orange;
}
if(System.Decimal.Parse(m_dr["目前库存量"].ToString())<0)
{
m_lvi.ForeColor=Color.Red;
}
}
else
{
m_lvi.ForeColor=Color.Green;
}
this.listViewProduct.Items.Add(m_lvi);
}
this.listViewProduct.EndUpdate();
}
#endregion
#region 查询DataSet(DsProduct)根据不同分类号获取数据并填充ListView控件
/// <summary>
/// 根据产品分类编号,查询DataSet,并返回数据填充ListView控件.
/// </summary>
/// <param name="searchID">产品分类编号</param>
private void SearchDataSetFillListView(int searchID)
{
this.listViewProduct.Items.Clear();
System.Data.DataRow[] drsProduct= this.DsProduct.Tables["tableAllProduct"].Select("分类编号="+searchID.ToString());
this.strSearchSQL="分类编号="+searchID.ToString();
this.strOrderSQL="";
//调用函数 根据查询条件返回的DataRow[] 数组填充ListView控件;
this.UseDataRowFillListView(drsProduct);
}
#endregion
#region 智能搜索函数
/// <summary>
/// 智能搜索函数,根据搜索条件,在(产品编号,产品名称,名称代码)三段中进行模糊查找。
/// </summary>
/// <param name="strSearchCodition">查找条件字符串</param>
private void AutoSearch(string strSearchCodition)
{
this.listViewProduct.Items.Clear();
//判断是否有有效查找条件字符
if(strSearchCodition.Length>0)
{
string m_searchSQL="[产品编号] LIKE '"+strSearchCodition.ToString()+"%' ";
m_searchSQL+="OR [产品名称] LIKE '%"+strSearchCodition.ToString()+"%' ";
m_searchSQL+="OR [名称编码] LIKE '"+strSearchCodition.ToString()+"%'";
string m_str="产品编号 ASC";
System.Data.DataRow[] drsProduct= this.DsProduct.Tables["tableAllProduct"].Select(m_searchSQL,m_str);
this.strSearchSQL=m_searchSQL;
this.strOrderSQL=m_str;
//调用函数 根据查询条件返回的DataRow[] 数组填充ListView控件;
this.UseDataRowFillListView(drsProduct);
}
}
#endregion
=======================================================
对以上代码网友如有建议或更好的实现方法可与我联系。
方志洪
E-mail:zhihongf@gmail.com
2006年2月3日。
代码网友可直接引用,如转载请注明出处。
http://spaces.msn.com/zhihongf/
第一部分根据搜索条件搜索数据库,并返回数据填充ListView控件。
代码编写:方志洪
E-mail:zhihongf@Gmail.com
2006年2月3日。
#region 读取数据库获取所有产品并存入DataSet
/// <summary>
/// DataSet保存所有产品;
/// </summary>
private System.Data.DataSet DsProduct=new System.Data.DataSet("AllProduct");
/// <summary>
/// 读取数据库获取所有产品信息并填充DataSet;
/// </summary>
private void GetAllProductAddDataSet()
{
this.DsProduct.Clear();
//声明数据库链接
string strCommandText="SELECT * FROM [产品清单]";
System.Data.SqlClient.SqlConnection sqlconnection=new System.Data.SqlClient.SqlConnection();
sqlconnection.ConnectionString=AppConfig.ClassDataLinkString.DataConnection;
try
{
System.Data.SqlClient.SqlDataAdapter sqldataadapter=new System.Data.SqlClient.SqlDataAdapter(strCommandText,sqlconnection);
sqldataadapter.Fill(this.DsProduct,"tableAllProduct");
}
catch(System.Exception ex)
{
MessageBox.Show(ex.ToString());
}
finally
{
sqlconnection.Close();
}
}
#endregion
#region 根据查询条件返回的DataRow[] 数组填充ListView控件;
/// <summary>
/// 根据查询条件返回的DataRow[] 数组填充ListView控件;
/// </summary>
/// <param name="drsProductList">填充ListView的DataRow[] 数组</param>
private void UseDataRowFillListView(System.Data.DataRow[] drsProductList)
{
this.listViewProduct.BeginUpdate();
int m_intBackColor=0;
foreach(System.Data.DataRow m_dr in drsProductList)
{
System.Windows.Forms.ListViewItem m_lvi=new ListViewItem();
m_lvi.Text=m_dr["产品编号"].ToString();
m_lvi.SubItems.Add(m_dr["产品名称"].ToString());
m_lvi.SubItems.Add(m_dr["规格"].ToString());
m_lvi.SubItems.Add(System.Decimal.Parse(m_dr["目前库存量"].ToString()).ToString("0.##"));
m_lvi.SubItems.Add(m_dr["包装单位"].ToString());
m_lvi.SubItems.Add(m_dr["产品存放区域"].ToString());
m_lvi.SubItems.Add(m_dr["备注"].ToString());
//改变奇数偶数行的背景色
m_intBackColor+=1;
if(m_intBackColor%2==0)
{
m_lvi.BackColor=Color.FromArgb(245,245,245);
}
//判断当前产品是否还有库存
if(System.Decimal.Parse(m_dr["目前库存量"].ToString()) <= System.Decimal.Parse(m_dr["库存预警"].ToString()))
{
m_lvi.ForeColor=Color.Blue;
if(System.Decimal.Parse(m_dr["目前库存量"].ToString())==0)
{
m_lvi.ForeColor=Color.Orange;
}
if(System.Decimal.Parse(m_dr["目前库存量"].ToString())<0)
{
m_lvi.ForeColor=Color.Red;
}
}
else
{
m_lvi.ForeColor=Color.Green;
}
this.listViewProduct.Items.Add(m_lvi);
}
this.listViewProduct.EndUpdate();
}
#endregion
#region 查询DataSet(DsProduct)根据不同分类号获取数据并填充ListView控件
/// <summary>
/// 根据产品分类编号,查询DataSet,并返回数据填充ListView控件.
/// </summary>
/// <param name="searchID">产品分类编号</param>
private void SearchDataSetFillListView(int searchID)
{
this.listViewProduct.Items.Clear();
System.Data.DataRow[] drsProduct= this.DsProduct.Tables["tableAllProduct"].Select("分类编号="+searchID.ToString());
this.strSearchSQL="分类编号="+searchID.ToString();
this.strOrderSQL="";
//调用函数 根据查询条件返回的DataRow[] 数组填充ListView控件;
this.UseDataRowFillListView(drsProduct);
}
#endregion
#region 智能搜索函数
/// <summary>
/// 智能搜索函数,根据搜索条件,在(产品编号,产品名称,名称代码)三段中进行模糊查找。
/// </summary>
/// <param name="strSearchCodition">查找条件字符串</param>
private void AutoSearch(string strSearchCodition)
{
this.listViewProduct.Items.Clear();
//判断是否有有效查找条件字符
if(strSearchCodition.Length>0)
{
string m_searchSQL="[产品编号] LIKE '"+strSearchCodition.ToString()+"%' ";
m_searchSQL+="OR [产品名称] LIKE '%"+strSearchCodition.ToString()+"%' ";
m_searchSQL+="OR [名称编码] LIKE '"+strSearchCodition.ToString()+"%'";
string m_str="产品编号 ASC";
System.Data.DataRow[] drsProduct= this.DsProduct.Tables["tableAllProduct"].Select(m_searchSQL,m_str);
this.strSearchSQL=m_searchSQL;
this.strOrderSQL=m_str;
//调用函数 根据查询条件返回的DataRow[] 数组填充ListView控件;
this.UseDataRowFillListView(drsProduct);
}
}
#endregion
=======================================================
对以上代码网友如有建议或更好的实现方法可与我联系。
方志洪
E-mail:zhihongf@gmail.com
2006年2月3日。