本博客写的是本人课程设计(企业的进销存管理系统)中的一个核心功能的主要的代码,涉及数据库的连接与查询,从数据库中取值判断,插入数据同时更新数据库。下面附上功能实现的样例图以及源代码.
try
{
if (sellid.Text.ToString().Equals(""))
MessageBox.Show("销售编号不能为空");
else
{
string s = eid.Text; string s1 = gid.Text; string s3 = gname.Text;
int t1 = Convert.ToInt32(sellnum.Text);
string connections = @"Data Source=localhost;Integrated Security=SSPI;Initial Catalog=enterprises;";
SqlConnection conn = new SqlConnection(connections);//数据库的连接
conn.Open();
DataSet ds = new DataSet();
string s2 = "select Stnum from tb_Stgoods where Stid='" + gid.Text + "'";
SqlDataAdapter da = new SqlDataAdapter(s2, conn);//定义一个适配器
da.Fill(ds);//把资料库放在适配器里面
DataTable dt = ds.Tables[0];//从数据库取出的值放在一个表中
int t = int.Parse(dt.Rows[0]["Stnum"].ToString());//把从数据库取出的值变为Int类型
if(t-t1>0)//如果销售的数量小于库存数量
{
string sql = @"insert into tb_Sellgoods(Sellid,Gid,Gname,Eid,Sellprice,Selltime,Sellsumprice,Sellnum) values('" + sellid.Text.Trim() + "','" + gid.Text.Trim() + "','" + gname.Text.Trim() + "','" + eid.Text.Trim() + "','" + eprice.Text.Trim() + "','" + selltime.Text.Trim() + "' ,'" + sellsumprice.Text.Trim() + "','" + sellnum.Text.Trim() + "')";//数据库的插入语句
SqlCommand com = new SqlCommand(sql, conn);
com.ExecuteNonQuery();
string sq = "update tb_Stgoods set Stnum-='"+ Convert.ToInt32(sellnum.Text)+"'"+"where Stid='"+s1+"'";//更新数据库
SqlCommand c = new SqlCommand(sq, conn);
c.ExecuteNonQuery();
MessageBox.Show("添加成功");
}
else if(t-t1==0)如果销售数量等于库存数量
{
string sql = @"insert into tb_Sellgoods(Sellid,Gid,Gname,Eid,Sellprice,Selltime,Sellsumprice,Sellnum) values('" + sellid.Text.Trim() + "','" + gid.Text.Trim() + "','" + gname.Text.Trim() + "','" + eid.Text.Trim() + "','" + eprice.Text.Trim() + "','" + selltime.Text.Trim() + "' ,'" + sellsumprice.Text.Trim() + "','" + sellnum.Text.Trim() + "')";
SqlCommand com = new SqlCommand(sql, conn);
com.ExecuteNonQuery();
string sq = "delete from tb_Stgoods where Stid='" + s1 + "'";//删除库存中的相应的信息
SqlCommand c = new SqlCommand(sq, conn);
c.ExecuteNonQuery();
MessageBox.Show("添加成功");
}
else//如果销售数量大于库存数量则提醒库存不够
{
MessageBox.Show("库存不够请减少销售数量");
}
}
}
catch (Exception ex)
{
MessageBox.Show("发生错误" + ex);
}
这段代码的实现的是数据库中取出库存量并进行判断,如果销售量小于库存量则写入销售表中,同时更新数据库中的库存量,如果销售量等于库存量则在写入销售表的同时删除库存中的相应的记录,如果销售量大于库存量则提示库存不足。