当前位置:编程学习 > C#/ASP.NET >>

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
设置外键级联 --------------------编程问答--------------------
引用 2 楼 wangchangming 的回复:
将这四张表把关系建立起来也可以呀,如果有关联,让它删除不了

就是不知道语句怎么写了,能帮我写下 不,相同的字段为“商品条码”,表在上面 --------------------编程问答-------------------- 如下写法可以不?     
   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("对不起,该条信息已被其他系统引用,不能删除!");
            }
    --------------------编程问答--------------------
引用 5 楼 a466247623 的回复:
如下写法可以不?  
  private void button_delete_Click(object sender, EventArgs e)
  {
  string strId1 = dataGridView_show.CurrentRow.Cells[1].Value.ToString();
  string t1 = "select * from 商品报损管理表 where 商……

错错错错了,,,,没执行的 --------------------编程问答--------------------
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,