| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1387 人关注过本帖
标题:[求助]两张表之间的问题
只看楼主 加入收藏
yigedaizi
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2006-11-24
收藏
 问题点数:0 回复次数:14 
[求助]两张表之间的问题
这个一直有错误,实现不了。就是要把进货的商品,先判断一下在库存表格中是否存在,如果不存在的话,直接在库存表格中添加新记录,如果已经存在,则在库存表中该商品的数量上作改变加上本次进货的数量。 该如何做? 谢谢。
搜索更多相关主题的帖子: 库存 商品 表格 新记录 
2007-01-20 17:03
chenlong
Rank: 1
等 级:新手上路
帖 子:78
专家分:0
注 册:2005-3-24
收藏
得分:0 
查那个表的商品的名称如果有更新在库存表中该商品的数量上作改变加上本次进货的数量,如果没有重新添加改货品

从孤独中体现自我,了解自我,读懂自我.长期接受(C#)Winform和项目,QQ88613211
2007-01-20 17:09
yigedaizi
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2006-11-24
收藏
得分:0 

能否给点关键代码?


layman on C#
2007-01-20 17:16
yigedaizi
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2006-11-24
收藏
得分:0 

string connstring = "server=localhost;database=maomao;integrated security=SSPI";
SqlConnection myconn = new SqlConnection(connstring );
SqlCommand mycomm = myconn.CreateCommand();
mycomm.CommandText = "INSERT INTO 进货表单 (进货编号,商品名称,进货日期,进货数量,商品单价,进货支出"+
")VALUES(+'"+b+"','"+n+"','"+d+"','"+num+"','"+p+"','"+m+"'"+
")";
myconn.Open();
mycomm.ExecuteNonQuery();
myconn.Close();
store();

}
public void store()
{
string connstring = "server=localhost;database=maomao;integrated security=SSPI";
SqlConnection myconn = new SqlConnection(connstring);
SqlCommand mycomm = myconn.CreateCommand();
mycomm.CommandText = "SELECT 商品名称 FROM 库存表单";
myconn.Open();
SqlDataReader dr = mycomm.ExecuteReader();

while (dr.Read())
{
if (name.Text == dr["商品名称"].ToString())
{
myconn.Close();
cunzai();
}
else
{
myconn.Close();
bucunzai();
}
}



}
public void cunzai()
{
string connstring = "server=localhost;database=maomao;integrated security=SSPI";
SqlConnection myconn = new SqlConnection(connstring);
SqlCommand mycomm = myconn.CreateCommand();
mycomm.CommandText = "UPDATA 库存表单  SET 库存数量+='"+number.Text .Trim()+"'"+
"WHERE 商品名称='"+name.Text.Trim()+"'";
myconn.Open();
mycomm.ExecuteNonQuery();
myconn.Close();
}
public void bucunzai()
{
string connstring = "server=localhost;database=maomao;integrated security=SSPI";
SqlConnection myconn = new SqlConnection(connstring);
SqlCommand mycomm = myconn.CreateCommand();
mycomm.CommandText = "INSERT INTO 库存表单(商品名称,库存数量"+
")VALUES('"+name.Text.Trim()+"','"+number.Text.Trim()+"')";
myconn.Open();
mycomm.ExecuteNonQuery();
myconn.Close();
}
可以么?


layman on C#
2007-01-20 17:50
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 
以下是引用yigedaizi在2007-1-20 17:50:11的发言:

string connstring = "server=localhost;database=maomao;integrated security=SSPI";
SqlConnection myconn = new SqlConnection(connstring );
SqlCommand mycomm = myconn.CreateCommand();
mycomm.CommandText = "INSERT INTO 进货表单 (进货编号,商品名称,进货日期,进货数量,商品单价,进货支出"+
")VALUES(+'"+b+"','"+n+"','"+d+"','"+num+"','"+p+"','"+m+"'"+
")";
myconn.Open();
mycomm.ExecuteNonQuery();
myconn.Close();
store();

}
public void store()
{
string connstring = "server=localhost;database=maomao;integrated security=SSPI";
SqlConnection myconn = new SqlConnection(connstring);
SqlCommand mycomm = myconn.CreateCommand();
mycomm.CommandText = "SELECT 商品名称 FROM 库存表单";
myconn.Open();
SqlDataReader dr = mycomm.ExecuteReader();

while (dr.Read())
{
if (name.Text == dr["商品名称"].ToString())
{
cunzai();
}
else
{
bucunzai();
}
}

myconn.Close();

}
public void cunzai()
{
string connstring = "server=localhost;database=maomao;integrated security=SSPI";
SqlConnection myconn = new SqlConnection(connstring);
SqlCommand mycomm = myconn.CreateCommand();
mycomm.CommandText = "UPDATA 库存表单  SET 库存数量+="+number.Text .Trim() +
" WHERE 商品名称='"+name.Text.Trim()+"'";
myconn.Open();
mycomm.ExecuteNonQuery();
myconn.Close();
}
public void bucunzai()
{
string connstring = "server=localhost;database=maomao;integrated security=SSPI";
SqlConnection myconn = new SqlConnection(connstring);
SqlCommand mycomm = myconn.CreateCommand();
mycomm.CommandText = "INSERT INTO 库存表单(商品名称,库存数量) VALUES('"+name.Text.Trim()+"','"+number.Text.Trim()+"')";
myconn.Open();
mycomm.ExecuteNonQuery();
myconn.Close();
}
可以么?


飘过~~
2007-01-21 01:10
yigedaizi
Rank: 1
等 级:新手上路
帖 子:123
专家分:0
注 册:2006-11-24
收藏
得分:0 

按版主的做了,可是运行是运行了,不管你添加什么商品,库存里都会添加一行记录。该记录的商品名称为空,库存数量为0。继续添加就会违反主键约束。怎么回事?


layman on C#
2007-01-21 02:37
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 


string SelectStr = "SELECT 商品名称 FROM 库存表单 where 商品名称=" + name.Text.Trim();
DataSet ds = null;
ds = myDataSet(SelectStr); //myDataSet()是个返回数据集的方法

string DataStr = "";
判斷是否已經存在此商品在入庫信息
if (ds.Tables[0].Rows.Count > 0) //已經存在
{
DataStr = "UPDATA 库存表单  SET 库存数量=库存数量" + int.Parse(number.Text .Trim()) +
" WHERE 商品名称='" + name.Text.Trim() + "'";
}
else //還不存在
{
DataStr = "INSERT INTO 库存表单(商品名称,库存数量) VALUES('" + name.Text.Trim()+"','" + int.Parse(number.Text.Trim()) + "')";
}
try
{
mycon.myExecuteNonQuery(DataStr); //myExecuteNonQuery()是执行数据库语句的方法
MessageBox.Show("恭喜~!入库成功~!");
}
catch(Exception exp)
{
MessageBox.Show("数据出错啦~!");
}
finally
{
name.Text = "";
number.Text = "";
BindData(); //重新绑定数据
}


飘过~~
2007-01-21 12:00
老兵
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-1-21
收藏
得分:0 
我怎么感觉楼主的编程思路好像不对?
我认为在做进销存系统的时候,进货和出货都应该以添加新记录的方式来记录操作痕迹,而库存表是依据进货表和出货表自动生成的。

2007-01-21 22:20
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
收藏
得分:0 

不能都说成是添加新记录,如果已经存在一种商品时,再入库,就是一个更新的过程.


飘过~~
2007-01-22 11:46
YSKING
Rank: 5Rank: 5
来 自:中国绿城
等 级:贵宾
威 望:16
帖 子:1380
专家分:25
注 册:2006-11-11
收藏
得分:0 
在数据库中存储与该商品相关的数量,也就是添加一个字段。然后进货时如果货物一样,就只更新数量不就行了

仍然自由自我,永远高唱我歌,走遍千里...
2007-01-22 12:34
快速回复:[求助]两张表之间的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017752 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved