1.界面效果图
2.主要功能及后台数据库表结构描述
1)主要功能:
- 实现对新商品信息的录入工作
2)后台数据库表结构:
列名 | 数据类型 | 允许空 | 备注 |
---|---|---|---|
ID | varchar(50) | 否 | 商品条码(主键) |
NAME | varchar(20) | 是 | 商品名称 |
PRICE | float | 是 | 商品价格 |
SUPPLIER | int | 否 | 供应商代码(外键) |
SPEC | varchar(20) | 是 | 商品规格 |
REMARK | varchar(100) | 是 | 备注 |
3.ADO.NET插入数据库流程
- 导入命名空间;
- 定义数据库连接字符串,运用Connection对象建立与数据库连接;
- 打开连接;
- 利用Command对象的ExecuteNoQuery()方法执行Insert语句;
- 通过ExecuteNoQuery()方法返回值判断是否修改成功,并在界面上提示;
- 关闭连接。
4.画面功能迭代过程(无外键→有外键)
界面无外键的时候是没有供应商的选项,用的是GOODSINFO表在这个数据库表中是没有外键的,通过添加供应商这一列的外键实现从数据库GOODS表中直接用数据库中SUPPLIER表中的数据。
5.ComboBox数据绑定流程
ComboBox数据绑定有两种方法:
- 手动设置Items属性
- 绑定数据源,自动加载数据
6.重要代码片段
ComboBox数据源绑定
//构造查询命令
String sqlStr = "select * from SUPPLIER order by CODE";
SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);
// 将该查询过程绑定到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";
this.comboBox1.ValueMember = "CODE";
this.comboBox1.SelectedIndex = 0;
将录入的信息插入数据库
// 构造命令
String sqlStr = "insert into GOODSINFO(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("商品信息录入失败");
}