C#在线求代码
做一个超市管理,有4张表,销售表,报损表,进货表和信息表。每张表都有自己的主键id,但4张表都用统一的条码。
销售表进货和报损表都是通告信息表来确定的
现在我信息表有很多信息,想要点击窗体中的按钮删除其中一条信息(已选中),
在删除这条信息时候要判断此行记录的条码是否存在于其他3张表里,
如果存在于其他3张表则不能删除;
如果不存在则可以删除此行的记录。
下面代码为没判断的代码,求前辈们帮我解决下
可以直接把代码写在下代码,或单独写个过程。
private void button_delete_Click(object sender, EventArgs e)
{
string strId = dataGridView_show.CurrentRow.Cells[0].Value.ToString();
String strSql = String.Format("delete from 商品基本信息维护表 where 商品编号 = '{0}'", strId);
if (MessageBox.Show("确定要删除此行吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
Db_help.exec(strSql);
MessageBox.Show("删除成功!");
}
dataGridView_show.DataSource = Db_help.search("select 商品编号,商品条码,商品名称,类别,单位,规格型号,颜色,状态,特价商品,最低库存,商品折扣,生产商 from 商品基本信息维护表");
}
--------------------编程问答-------------------- 用if exists字句判断下啊,很好写的,只不过没数据库结构,没法给代码。 --------------------编程问答-------------------- 将这四张表把关系建立起来也可以呀,如果有关联,让它删除不了 --------------------编程问答-------------------- TRY catch
设置外键级联 --------------------编程问答--------------------
就是不知道语句怎么写了,能帮我写下 不,相同的字段为“商品条码”,表在上面 --------------------编程问答-------------------- 如下写法可以不?
private void button_delete_Click(object sender, EventArgs e)
{
string strId1 = dataGridView_show.CurrentRow.Cells[1].Value.ToString();
string t1 = "select * from 商品报损管理表 where 商品条行=strId";
string t2="select * from 商品采购管理表 where 商品条码=strId";
string t3="select * from 商品销售管理表 where 商品条码=strId";
if (t1 != strId1 && t2 != strId1 && t3 != strId1)
{
string strId = dataGridView_show.CurrentRow.Cells[0].Value.ToString();
String strSql = String.Format("delete from 商品基本信息维护表 where 商品编号 = '{0}'", strId);
if (MessageBox.Show("确定要删除此行吗?", "提示", MessageBoxButtons.YesNo) == DialogResult.Yes)
{
Db_help.exec(strSql);
MessageBox.Show("删除成功!");
}
dataGridView_show.DataSource = Db_help.search("select 商品编号,商品条码,商品名称,类别,单位,规格型号,颜色,状态,特价商品,最低库存,商品折扣,生产商 from 商品基本信息维护表");
}
else
{
MessageBox.Show("对不起,该条信息已被其他系统引用,不能删除!");
}
--------------------编程问答--------------------
错错错错了,,,,没执行的 --------------------编程问答--------------------
补充:.NET技术 , C#