2.8

2.8商品信息查询修改界面功能设计

1.什么是ADO.NET?

ado.net提供与数据源进行交互的相关的公共方法,但是对于不同的数据源采用一组不同的类库。这些类库称为Data Providers,并且通常是以与之交互的协议和数据源的类型来命名的。ado.net是一组用于和数据源进行交互的面向对象类库。通常情况下,数据源是数据库,但它同样也能够是文本文件、Excel表格或者XML文件。

连接数据库

2.8_第1张图片
11121221-5a928322c71dbc7e.png

录入商品功能展示:

2.8_第2张图片
录入商品信息窗体.gif

录入信息后的查询结果

录入信息后的查询结果.gif

删除商品信息功能展示:

2.8_第3张图片
删除录入商品信息.gif

主要控件功能解读:

SplitContainer控件

SplitContainer用于界面设计,它提供一种将窗口拆分成两个面板的方式,可以适配各种屏幕分辨率。
DataGridview控件常常搭配SplitContainer使用。

DataGridView控件

提供一种强大而灵活的以表格形式显示数据的方式。
DataGridview控件常用事件方法


2.8_第4张图片
image.png

ADO .NET的体系结构

2.8_第5张图片
QQ截图20181202195455.png

主要代码:

String connStr = ConfigurationManager.ConnectionStrings["SuperMarketSales"].ConnectionString;
SqlConnection sqlConn = new SqlConnection(connStr);
try
{
sqlConn.Open();
}
catch (Exception exp)
{
MessageBox.Show("访问数据库错误:" + exp.Message);
}
finally
{
sqlConn.Close();
}

商品信息列表查询功能代码

// 构造命令
String sqlStr = "select * from GOODS where 1=1 ";

// 添加查询条件
if (!this.tb_Id.Text.Trim().Equals("")){
sqlStr += " and ID='" + this.tb_Id.Text.Trim() + "'";
}

if (!this.tb_Name.Text.Trim().Equals("")){
sqlStr += " and NAME like '%" + this.tb_Name.Text.Trim() + "%'";
}

SqlCommand cmd = new SqlCommand(sqlStr, sqlConn);

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

// 将DataSet和DataAdapter绑定
DataSet ds = new DataSet();
// 自定义一个表(MyGoods)来标识数据库的GOODS表
adp.Fill(ds, "MyGoods");

// 指定DataGridView的数据源为DataSet的MyGoods表
this.dgv_Goods.DataSource = ds.Tables["MyGoods"];

响应超链接列点击事件CellContentClick:

private void dgv_Goods_CellContentClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex != -1 && e.ColumnIndex == 0)
{
string objectId = this.dgv_Goods["Id", e.RowIndex].Value.ToString();
MessageBox.Show(objectId);
}
else if (e.RowIndex != -1 && e.ColumnIndex == 1)
{
string objectId = this.dgv_Goods["Id", e.RowIndex].Value.ToString();
MessageBox.Show(objectId);
}
}

你可能感兴趣的:(2.8)