2018-12-03

2.gif
  1. 画面主要功能及支持这些功能的后台数据库表结构
    功能:利用c#界面查询数据库中商品信息,修改和删除数据库商品信息。
    数据表结构:
    列名 数据类型 允许空 备注
    ID varchar(50) 否 商品条码(主键)
    NAME varchar(20) 是 商品名称
    PRICE float 是 商品价格
    SUPPLIER int 否 供应商代码(外键)
    SPEC varchar(20) 是 商品规格
    REMARK varchar(100) 是 备注
  1. ADO.NET删除数据库的流程
    导入命名空间
    定义数据库连接字符串,创建Connection对象
    打开连接
    利用Command对象的ExecuteNonQuery()方法执行Delete语句
    通过ExecuteNonQuery()方法返回值判断是否修改成功,并在界面上提示
    关闭连接。

  2. 画面功能无供应商到有供应商迭代过程
    使用ComboBox进行数据绑定实现供应商选择功能

  3. DataGridView数据绑定流程
    this.dgv_Goods.DataSource = ds.Tables["MyGoods"];

  4. 贴入重要代码片段
    // 连接字符串,注意与实际环境保持一致
    String connStr = ConfigurationManager.ConnectionStrings["SuperMarketSales"].ConnectionString;
    SqlConnection sqlConn = new SqlConnection(connStr);
    try
    {
    // 连接数据库
    sqlConn.Open();

                    // 构造命令
                    String sqlStr = "delete from GOODS where ID=@id";
                    SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);
    
                    // SQL字符串参数赋值
                    cmd.Parameters.Add(new SqlParameter("@id", goodsId));
    
                    // 将命令发送给数据库
                    int res = cmd.ExecuteNonQuery();
    
                    // 根据返回值判断是否修改成功
                    if (res != 0)
                    {
                        MessageBox.Show("删除成功");
                    }
                    else
                    {
                       MessageBox.Show("删除失败");
                   }
                }
                catch (Exception exp)
                {
                    MessageBox.Show("访问数据库错误:" + exp.Message);
               }
                finally
                {
                    sqlConn.Close();
                }
    

// 点击“确认”按钮,则录入商品
private void bt_Ok_Click(object sender, EventArgs e)
{
String id = this.tb_Id.Text.Trim();
String name = this.tb_Name.Text.Trim();
float price = float.Parse(this.tb_Price.Text.Trim());
String spec = this.tb_Spec.Text.Trim();
String remark = this.tb_Remark.Text.Trim();

        // 连接字符串,注意与实际环境保持一致
        String connStr = ConfigurationManager.ConnectionStrings["SuperMarketSales"].ConnectionString;
        SqlConnection sqlConn = new SqlConnection(connStr);
        try
        {
            // 连接数据库
            sqlConn.Open();

            // 构造命令
            String sqlStr = "insert into GOODS2(ID, NAME, PRICE, SPEC, REMARK) values(@id, @name, @price, @spec, @remark)";
            SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);

            // SQL字符串参数赋值
            cmd.Parameters.Add(new SqlParameter("@id", id));
            cmd.Parameters.Add(new SqlParameter("@name", name));
            cmd.Parameters.Add(new SqlParameter("@price", price));
            cmd.Parameters.Add(new SqlParameter("@spec", spec));
            cmd.Parameters.Add(new SqlParameter("@remark", remark));

            // 将命令发送给数据库
            int res = cmd.ExecuteNonQuery();

            // 根据返回值判断是否插入成功
            if (res != 0)
            {
                MessageBox.Show("商品信息录入成功");
            }
            else
            {
                MessageBox.Show("商品信息录入失败");
            }
        }
        catch (Exception exp)
        {
            MessageBox.Show("访问数据库错误:" + exp.Message);
        }
        finally
        {
            sqlConn.Close();
        }
    }

你可能感兴趣的:(2018-12-03)