1.效果图
2.主要功能,并列出支持这些功能的后台数据库表结构
2.1ADO.NET查询
具体步骤:
导入命名空间
定义数据库连接字符串,创建Connection对象
利用Command对象的ExecuteReader()方法执行Select查询语句
利用ExecuteReader()方法返回的DataReader对象读取数据,显示到界面上
2.2ADO.NET插入
具体步骤:
导入命名空间
定义数据库连接字符串,创建Connection对象
利用Command对象的ExecuteNonQuery()方法执行Insert语句
通过ExecuteNonQuery()方法返回值判断是否修改成功,并在界面上提示
2.3ADO.NET更新
具体步骤:
导入命名空间
定义数据库连接字符串,创建Connection对象
利用Command对象的ExecuteNonQuery()方法执行Update语句
通过ExecuteNonQuery()方法返回值判断是否修改成功,并在界面上提示
3.ADO.NET删除数据库的流程
3.1ADO.NET删除
具体步骤:
导入命名空间
定义数据库连接字符串,创建Connection对象
利用Command对象的ExecuteNonQuery()方法执行Delete语句
通过ExecuteNonQuery()方法返回值判断是否修改成功,并在界面上提示
4.画面功能迭代过程(无供应商、有供应商)
(1) 给DataGridView控件取个Name名称(如dgv_Text)。
(2) 将要绑定的数据列表(集合或数组)赋值给dgv_Text的DataSource属性
5.DataGridView数据绑定流程
(1) 为ModifyForm窗体添加一个Label控件和TextBox控件。
(2) 将Label的Text修改为供应商代码,用来修饰旁边的TextBox控件是提供商代码。
6.重要代码片段及描述
6.1数据修改,删除
// 点击修改链接
if (e.RowIndex != -1 && e.ColumnIndex == 0)
{
// 获取所要修改关联对象的主键
string goodsId = this.dgv_Goods["Id", e.RowIndex].Value.ToString();
ModifyForm modifyForm = new ModifyForm(goodsId);
modifyForm.Show();
}
else if (e.RowIndex != -1 && e.ColumnIndex == 1)
{
if (MessageBox.Show("确认删除?", "提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
// 获取所要删除关联对象的主键
string goodsId = this.dgv_Goods["Id", e.RowIndex].Value.ToString();
// 连接字符串,注意与实际环境保持一致
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);
}