商品信息录入界面功能设计

1.贴效果图,最好是GIF文件

1.gif

2.描述画面主要功能,并列出支持这些功能的后台数据库表结构

  1. 导入命名空间;
  2. 定义数据库连接字符串,创建Connection对象;
  3. 打开连接;
  4. 利用Command对象的ExecuteNonQuery()方法执行Insert语句;
  5. 通过ExecuteNonQuery()方法返回值判断是否修改成功,并在界面上提示;
  6. 关闭连接。

3.ADO.NET插入数据库的流程

访问SQL Server数据库.png

添加数据库数据.png

4.画面功能是如何迭代的,描述迭代过程(无外键有外键)

在商品录入界面添加一个供应商及ComboBox控件 编写代码让ComboBox的数据源为DataSet的MySupplier表

// 将该查询过程绑定到DataAdapter
 SqlDataAdapter adp = new SqlDataAdapter();
                adp.SelectCommand = cmd;
 // 将DataSet和DataAdapter绑定
                DataSet ds = new DataSet();

// 自定义一个表(MySupplier)来标识数据库的SUPPLIER表
                adp.Fill(ds, "MySupplier");
                // 指定ComboBox的数据源为DataSet的MySupplier表 
                this.comboBox1.DataSource = ds.Tables["MySupplier"];
                this.comboBox1.DisplayMember = "NAME";
                // ComboBox下拉列表显示的内容,这里显示供应商名称
                this.comboBox1.ValueMember = "CODE";
                // ComboBox另外还携带一个隐藏的值叫ValueMember,指定为供应商代码                                 this.comboBox1.SelectedIndex = 0;

5.ComboBox数据绑定流程

1)连接数据库

private void Form1_Load(object sender, EventArgs e) 
        {             String connStr = ConfigurationManager.ConnectionStrings["SuperMarketSales"].ConnectionString;
             SqlConnection sqlConn = new SqlConnection(connStr); 
            try
             {  
               // 连接数据库
               sqlConn.Open();
               // 构造查询命令
               String sqlStr = "select * from SUPPLIER order by CODE"; 
               SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);

2)将该查询过程绑定到DataAdapter

               // 将该查询过程绑定到DataAdapter
SqlDataAdapter adp = new SqlDataAdapter();
               adp.SelectCommand = cmd;
// 将DataSet和DataAdapter绑定
               DataSet ds = new DataSet();

3)自定义一个表(MySupplier)来标识数据库的SUPPLIER表

               // 自定义一个表(MySupplier)来标识数据库的SUPPLIER表
               adp.Fill(ds, "MySupplier");
               // 指定ComboBox的数据源为DataSet的MySupplier表
               this.comboBox1.DataSource = ds.Tables["MySupplier"];
               this.comboBox1.DisplayMember = "NAME";
               // ComboBox下拉列表显示的内容,这里显示供应商名称
               this.comboBox1.ValueMember = "CODE";
               // ComboBox另外还携带一个隐藏的值叫ValueMember,指定为供应商代码                 
               this.comboBox1.SelectedIndex = 0;
             }
             catch (Exception exp)
             {
             MessageBox.Show("访问数据库错误:" + exp.Message);
             }
             finally
             {
                 sqlConn.Close();
             }
         }
          private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)         {
          MessageBox.Show(this.comboBox1.Text.ToString() + ", " + this.comboBox1.SelectedValue.ToString());
}

6,贴入重要代码片段,并进行详细描述

// 点击“确认”按钮
         private void bt_Ok_Click(object sender, EventArgs e)
         {
             String userName = this.tb_User.Text.Trim();
             String newPwd = this.tb_NewPwd.Text.Trim();
             String confPwd = this.tb_ConfirmPwd.Text.Trim();

修改密码代码

              // 验证输入信息
             if (newPwd.Equals(""))
             {
                 MessageBox.Show("请输入新密码", "提示", MessageBoxButtons.OK,
 MessageBoxIcon.Warning);
                 return;
             }
             else if (confPwd.Equals(""))
             {
                 MessageBox.Show("请输入确认密码", "提示", MessageBoxButtons.OK,
MessageBoxIcon.Warning);
                 return;
             }
             else if (newPwd != confPwd)
             {
                 MessageBox.Show("两次密码不一致", "提示", MessageBoxButtons.OK,
 MessageBoxIcon.Warning);
                 return;
             }

判断是否修改成功

            // 连接字符串,注意与实际环境保持一致
StringconnStr=ConfigurationManager.ConnectionStrings["SuperMarketSales"].ConnectionString;
           SqlConnection sqlConn = new SqlConnection(connStr);
           try
           {
               // 连接数据库
               sqlConn.Open();
                // 构造命令
               String sqlStr = "update EMPLOYEE set PASSWORD=@pwd where ID=@id";
               SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);
                // SQL字符串参数赋值                 cmd.Parameters.Add(new SqlParameter("@pwd", newPwd));
               cmd.Parameters.Add(new SqlParameter("@id", UserInfo.userId));
                // 将命令发送给数据库
               int res = cmd.ExecuteNonQuery();
                // 根据返回值判断是否修改成功
               if (res != 0)
               {
                   MessageBox.Show("密码修改成功");
                   this.Close();
               }
               else
               {
                   MessageBox.Show("密码修改错误");
               }
           }
           catch (Exception exp)
           {
               MessageBox.Show("访问数据库错误:" + exp.ToString());
           }
           finally
           {
               sqlConn.Close();
           }
       }

回车直接修改密码

          // 在“新密码”输入框中按“回车”,光标跳转到“确认密码”输入框
         private void tb_NewPwd_KeyPress(object sender, KeyPressEventArgs e)
         {             if (e.KeyChar == (char)Keys.Enter)
             {
                 SendKeys.Send("{tab}");
             }
         }
          // 在“确认密码”输入框中按“回车”,则直接修改密码
         private void tb_ConfirmPwd_KeyPress(object sender, KeyPressEventArgs e)         {
             if (e.KeyChar == (char)Keys.Enter)
             {
                 this.bt_Ok_Click(sender, e);
             }
         }
     }

录入商品代码

// 点击“确认”按钮,则录入商品
         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();
              // 连接字符串,注意与实际环境保持一致
StringconnStr=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.ToString());
             }
             finally
             {
                 sqlConn.Close();
             }
         }
     }

你可能感兴趣的:(商品信息录入界面功能设计)