实验七 数据源控件的使用
实验7数据库操作技术实验步骤
实验七数据库操作技术实验步骤1、新建数据库StaffDataBase2、新建数据表设置主键3、新建职工信息操作窗口(1)添加bindingNavigator控件,添加三个toolStripButton,命名为“添加”、“修改”、“删除”(2)把DisplayStyle属性值改成ImageAndText(3)添加dataGridView(4)得到完整窗口4.新建职工信息编辑窗口5、1)定义一个数据库连接类完成连接类,代码如下(导入包using System.Data.SqlClient);):using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.SqlClient;namespace WindowsFormsApplication2{class DataBaseLink{public string strConn = "Data Source=cc-PC\sqlexpress;InitialCatalog=StaffDataBase;Integrated Security=True"; /*链接字符串*/public SqlConnection DataLink(){SqlConnection con = new SqlConnection(strConn); /*/实例化连接对象*/return con; /*返回链接对象*/}}}6.新建接口InterfaceDataAccessing完成接口类,代码为(导入包using System.Data);):using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data;namespace WindowsFormsApplication2{interface InterfaceDataAccessing{void Add(String[] st); /*添加数据到数据库,参数接受信息*/void Updata(String[] st, string id); /*更新数据,参数1接收修改的信息,参数2修改条件*/ void Delete(string id); /* 删除数据,参数删除条件*/DataSet GetData(string st);/*查询数据,参数为查询条件*/}}7.添加职工类去继承接口:对职工类去继承接口并进行操作方法的编写为:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication2{class Staff{DataBaseLink db = new DataBaseLink();/*实例化类的对象*/public void Add(String[] st){using (SqlConnection con = db.DataLink()) /* 返回连接*/{if (con.State == ConnectionState.Closed)/*若数据库状态为关则打开*/ {con.Open();}try{string sql = "Insert into Staff(bh,xm,xb,byxy,xl,xw,gzbm,lxdz,yxdz,zz) Values(@bh,@xm,@xb,@byxy,@xl,@xw,@gzbm,@lxdz,@yxdz,@zz)";//查询语句同学也可以参考教材上的例子编写查询语句,所以字段,所有的值SqlCommand cmd = new SqlCommand(sql, con);/*创建查询命令对象,参数1查询语句,参数2连接对象*/SqlParameter p1 = new SqlParameter("@bh", st[0]);/*结构化查询参数,参数1值变量,参数2,值的具体内容*/SqlParameter p2 = new SqlParameter("@xm", st[1]);SqlParameter p3 = new SqlParameter("@xb", st[2]);SqlParameter p4 = new SqlParameter("@byxy", st[3]);SqlParameter p5 = new SqlParameter("@xl", st[4]);SqlParameter p6 = new SqlParameter("@xw", st[5]);SqlParameter p7 = new SqlParameter("@gzbm", st[6]);SqlParameter p8 = new SqlParameter("@lxdz", st[7]);SqlParameter p9 = new SqlParameter("@yxdz", st[8]);SqlParameter p10 = new SqlParameter("@zz", st[9]);cmd.Parameters.Add(p1);/*把新创建的对象添加到*/cmd.Parameters.Add(p2);cmd.Parameters.Add(p3);cmd.Parameters.Add(p4);cmd.Parameters.Add(p5);cmd.Parameters.Add(p6);cmd.Parameters.Add(p7);cmd.Parameters.Add(p8);cmd.Parameters.Add(p9);cmd.Parameters.Add(p10);cmd.ExecuteNonQuery();//执行查询命令MessageBox.Show("信息添加成功!");}catch (Exception ex)//异常放到ex中{MessageBox.Show("错误:" + ex.Message, "错误提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);}finally/*不管连接对象状态是否关闭,都执行关闭连接*/{if (con.State == ConnectionState.Open){con.Close();con.Dispose();/*释放连接对象*/}}}}public DataSet GetData(string st) /*定义方法,返回类型数据集,参数为查询条件*/{DataSet ds = new DataSet("Staff");if(st==null)/*判断查询条件是否为空,全查询*/{using (SqlConnection con = db.DataLink())/*返回连接对象*/{if (con.State == ConnectionState.Closed){con.Open();}try{string sql = "Select * From Staff";/*查询语句*/SqlDataAdapter sqlda = new SqlDataAdapter(sql,con);/*新建查询适配器,参数1查询语句,参数2连接对象*/sqlda.Fill(ds);/*执行查询并填充*/}catch (Exception ex){MessageBox.Show("错误:" + ex.Message, "错误提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);}finally{if (con.State == ConnectionState.Open){con.Close();con.Dispose();}}}}return ds;}public void Delete(string id) /*定义删除方法,返回值类型为空,参数为删除条件*/{using (SqlConnection con = db.DataLink())/*使用连接对象,定义连接变量,返回连接对象*/{if (con.State == ConnectionState.Closed){con.Open();}try{string sql = "Delete From Staff Where bh=" + "'"+id+"'";/*定义查询语句*/SqlCommand comd = new SqlCommand(sql,con);/*创建新的命令对象,参数1删除命令,参数2为连接对象*/comd.ExecuteNonQuery();//执行指令}catch (Exception ex){MessageBox.Show("错误:" + ex.Message, "错误提示",MessageBoxButtons.OKCancel, MessageBoxIcon.Error);}finally{if (con.State == ConnectionState.Open){con.Close();con.Dispose();}}}}public void Updata(String[] st,string id) /*定义更新数据方法,参数1修改内容,参数2修改条件*/{using (SqlConnection con = db.DataLink())/*使用连接对象,定义连接变量,变量接受返回的连接对象*/{if (con.State == ConnectionState.Closed){con.Open();}try{string sql = "Update Staff setbh=@bh,xm=@xm,xb=@xb,byxy=@byxy,xl=@xl,xw=@xw,gzbm=@gzbm,lxdz=@lxdz,yxdz=@yxdz,zz=@zz where bh='"+id+"'";SqlCommand cmd = new SqlCommand(sql, con);/* 创建查询命令对象,参数1查询语句,参数2连接对象*/SqlParameter p1 = new SqlParameter("@bh", st[0]); ;SqlParameter p2 = new SqlParameter("@xm", st[1]); /*结构化查询参数,参数1值变量,参数2值的具体内容*/SqlParameter p3 = new SqlParameter("@xb", st[2]);SqlParameter p4 = new SqlParameter("@byxx", st[3]);SqlParameter p5 = new SqlParameter("@xl", st[4]);SqlParameter p6 = new SqlParameter("@xw", st[5]);SqlParameter p3 = new SqlParameter("@gzbm", st[6]);SqlParameter p4 = new SqlParameter("@lxdz", st[7]);SqlParameter p5 = new SqlParameter("@yxdz", st[8]);SqlParameter p6 = new SqlParameter("@zz", st[9]);cmd.Parameters.Add(p1); /*把新创建的对象添加到数据集和中*/cmd.Parameters.Add(p2);cmd.Parameters.Add(p3);cmd.Parameters.Add(p4);cmd.Parameters.Add(p5);cmd.Parameters.Add(p6);cmd.Parameters.Add(p7);cmd.Parameters.Add(p8);cmd.Parameters.Add(p9);cmd.Parameters.Add(p10);cmd.ExecuteNonQuery();/*执行指令*/}catch (Exception ex){MessageBox.Show("错误:" + ex.Message, "错误提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Error);}finally{if (con.State == ConnectionState.Open){con.Close();con.Dispose();/*释放连接对象*/}}}}}}8.编写StaffFrom窗口的相关程序代码如下:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication2{public partial class StaffFrom : Form{private BindingSource bindingSource = new BindingSource();/*Bindingsource是显示控件与数据集中的数据表的中间层*/Staff std = new Staff();/*创建学生对象*/public StaffFrom(){InitializeComponent();DataBinding();/*方法,实现数据绑定*/}private void toolStripButton1_Click(object sender, EventArgs e){Form1 form1 = new Form1("xz", null);form1.ShowDialog();DataBinding();}public void DataBinding() /*定义方法*/{DataSet ds = std.GetData(null);bindingSource.DataSource = ds.Tables[0];bindingNavigator1.BindingSource = bindingSource;dataGridView1.DataSource = bindingSource;}private void toolStripButton2_Click(object sender, EventArgs e){DataGridViewRow dataRow = dataGridView1.SelectedRows[0];if (dataRow ==null ){MessageBox.Show("请选中要修改的数据!", "提示");}else{Form1 form = new Form1("xg", dataRow);form.ShowDialog();DataBinding();}}private void toolStripButton3_Click_1(object sender, EventArgs e){DialogResult dia = MessageBox.Show("你确实要删除此记录吗", "确认删除", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning);if (dia == DialogResult.OK){DataGridViewRow dataRow = dataGridView1.SelectedRows[0];std.Delete(dataRow.Cells[0].Value.ToString());DataBinding();}}}}完整窗口为:9.编写From1窗口的相关程序代码如下:using System;using System.Collections.Generic;using ponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication2{public partial class Form1 : Form{string str;string id;public Form1(string str,DataGridViewRow dgvr){InitializeComponent();this.str = str;if(str == "xg"){button1.Text = "修改";textBox1.Text = dgvr.Cells[0].Value.ToString(); textBox2.Text = dgvr.Cells[1].Value.ToString(); textBox3.Text = dgvr.Cells[2].Value.ToString(); textBox4.Text = dgvr.Cells[3].Value.ToString(); textBox5.Text = dgvr.Cells[4].Value.ToString(); textBox6.Text = dgvr.Cells[5].Value.ToString(); textBox7.Text = dgvr.Cells[6].Value.ToString(); textBox8.Text = dgvr.Cells[7].Value.ToString(); textBox9.Text = dgvr.Cells[8].Value.ToString(); textBox10.Text = dgvr.Cells[9].Value.ToString(); id = dgvr.Cells[0].Value.ToString();textBox1.Enabled = false;}if(str == "xz"){button1.Text = "新增";}}private void button1_Click(object sender, EventArgs e){string[] st = new string[10];if(str == "xz"){st[0] = textBox1.Text.Trim();st[1] = textBox2.Text.Trim();st[2] = textBox3.Text.Trim();st[3] = textBox4.Text.Trim();st[4] = textBox5.Text.Trim();st[5] = textBox6.Text.Trim();st[6] = textBox7.Text.Trim();st[7] = textBox8.Text.Trim();st[8] = textBox9.Text.Trim();st[9] = textBox10.Text.Trim();Staff idaxz = new Staff();idaxz.Add (st);this.Close();}if(str == "xg"){st[0] = textBox1.Text.Trim();st[1] = textBox2.Text.Trim();st[2] = textBox3.Text.Trim();st[3] = textBox4.Text.Trim();st[4] = textBox5.Text.Trim();st[5] = textBox6.Text.Trim();st[6] = textBox7.Text.Trim();st[7] = textBox8.Text.Trim();st[8] = textBox9.Text.Trim();st[9] = textBox10.Text.Trim();Staff idaxg = new Staff();idaxg.Updata(st,id);this.Close();}}private void button2_Click(object sender, EventArgs e) {this.Close();}}}完整后的窗口为:10.运行程序:1.单击添加:(1).输入数据(2).点击“新增”后:2.单击修改:(1).输入修改数据:(2).单击“修改”后3.单击删除:(1).删除数据:(2).点击取消:(3).点击确定:数据库的分离:。
实验07数据绑定控件
实验七数据绑定控件学号:20131020260姓名:廖宇专业:信管实验时间:2016年5月18日实验地点:宿舍一、实验目的掌握GridView控件的使用。
掌握DetailView控件的使用。
熟练运用SQLDataSource控件。
二、实验内容和要求(1)使用GridView控件绑定留言板信息。
A、打开visual studio 2010,按实验一的方法创建一个 Web的空网站,命名为“课堂训练7-1”B、右击网站名称,选择“添加新项”命令。
在“添加新项”对话框中选择web网页,单击添加按钮,默认名称为Default.aspx。
C、设计web窗体,切换到设计视图,向页面中添加1个gridview控件,并设置相关属性,根据实验手册58页编辑gridview控件的列字段,更改gridview的样式为“大洋洲”。
D、编辑窗体加载事件代码protected void Page_Load(object sender, EventArgs e){string sqlconn = "Data Source=.;Database=GuestBook;Integrated Security=True";SqlConnection myConnection = new SqlConnection(sqlconn);myConnection.Open();SqlCommand myCommand = new SqlCommand("select*from GuestBookInfo", myConnection);SqlDataAdapter Adapter = new SqlDataAdapter();Adapter.SelectCommand = myCommand;DataSet myDs = new DataSet();Adapter.Fill(myDs);myConnection.Close();GridView1.DataSource = myDs.Tables[0].DefaultView;DataBind();}E、编辑当前页索引正在更新时的事件代码如下:protected void GridView1_PageIndexChanging(object sender, GridViewPageEventArgs e){GridView1.PageIndex = e.NewPageIndex;DataBind();}}F、浏览建立的web窗体进行测试。
控件使用 实验报告
{public partial class TestList : Form
{ public TestList()
{ InitializeComponent(); }
private void AddButton_Click(object sender, EventArgs e)
}
privatevoidradioButton3_CheckedChanged(objectsender,EventArgse)
{
textBox1.Font =newSystem.Drawing.Font("隶¢£¤书º¨¦", 15f);
}
privatevoidcheckBox1_CheckedChanged(objectsender,EventArgse)
MessageBoxButtons.OK, MessageBoxIcon.Error);
repeatJudege = true;
break; }Βιβλιοθήκη }if (!repeatJudege)
FruitListBox.Items.Add(textBox.Text.Trim()); textBox.Text = "";
3.撰写实验报告。
实验内容与步骤:
1.多窗体练习
实现如图所示功能。输入用户名后点击登录按钮,弹出右图消息框。要求在消息框中显示用户输入的用户名和“欢迎你”语句。点击取消按钮结束程序运行。
源代码:
在窗体form1里面添加如下代码:
usingSystem;
usingSystem.Collections.Generic;
}
privatevoidbutton2_Click(objectsender,EventArgse)
4-7-数据源控件 (1)
4.1ectDataSource控件表示具有数据检索和更新 功能的中间层对象。作为数据绑定控件(如GridView 、 FormView 或 DetailsView 控 件 ) 的 数 据 接 口 , ObjectDataSource 控 件 可 以 使 这 些 数 据 绑 定 控 件 在 网页上并显示。 • ObjectDataSource控件使用反射调用业务对象的 方法以对数据执行选择、更新、插入和删除操作。设 置ObjectDataSource控件的TypeName属性来指定要用 作源对象的类名称。
•
AccessDataSource控件继承于SqlDataSource控件, 并针对Access数据库的特点进行了扩展。因此,两者 之间既有相似之处,也有其不同的地方。 SqlDataSource控件更多的是采用ConnectionString属性 连接数据库,而AccessDataSource主要采用DataFile属 性直接以文件地址的方式连接Access。
学习情境四 任务7 数据源控件
主要学习任务
• • • • • SqlDataSource AccessDataSource XmlDataSource ObjectDataSource SiteMapDataSource
4.1 数据源控件
• 数据源控件是管理连接到数据源以及进行数据处 理等任务的服务器控件。数据源控件不包含 UI(用户界面),而是作为特定数据源(如数据库、 业务对象或XML文件)与网页上的其他控件 之间的联系人出现。数据源控件实现了丰富的数据检 索和更新功能,其中包括查询、排序、分页、筛选、 更新、删除以及插入等,UI控件能够自动利用这些功 能而无需代码。
4.1.5 SiteMapDataSource控件
数据库应用基础常用控件的使用
第13页
⑶ ListCount属性 ⑷ Selected属性
例如:List1.Selected(0)的值为True表示第一项被选中 ⑸ Sorted属性 ⑹ Text属性 ⑺ Multiselect属性 ⑻ SelCount属性 ⑼ Columns属性 2.常用事件 ⑴ Click ⑵ DblClick ⑶ Scroll 当拖动列表框的滚动条时触发该事件。
退出
7.5键盘事件 第19页 键盘事件包括KeyDown、KeyPress和KeyUp。当一 个对象具有焦点时,用户按下并释放键盘键,会先后触发 KeyDown、KeyPress和KeyUp事件。
退出
KeyDown事件、KeyUp事件 第20页
具有这两个事件的对象有窗体、命令按钮、文本框、复选框、列表框、 组合框、滚动条与图片框 。 事件过程的格式: Private Sub object_KeyDown(KeyCode As Integer,Shift As Integer) Private Sub object_KeyUp(KeyCode As Integer,Shift As Integer) 参数说明:
X As Single, Y As Single) Private Sub Object_MouseMove(Button As Integer, Shift As Integer,
X As Single, Y As Single) 参数说明: ⑴Button参数 表示鼠标事件发生时按下的是哪个鼠标键。
退出
3.常用方法 ⑴ AddItem方法
格式:[对象名.]AddItem 项字符串[,项索引号] 功能:向列表框中添加选择项 ⑵ RemoveItem方法 格式:[对象名.]RemoveItem 项索引号 功能:在列表框中删除指定的选项 ⑶Clear方法 格式:[对象名.]Clear 功能:清除列表框中的所有选项
第9章 使用数据源控件和数据控件
GridView控件
1.
使用GridView控件显示数据
定制GridView控件的字段 定制GridView控件的外观 使用GridView控件进行分页和排序
2.
3.
4.
插入 GridView控件(do it)
BoundField—绑定字段
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" DataSourceID="SqlDataSource1"> <Columns> <asp:BoundField DataField="Id" HeaderText="Id" SortExpression="Id" /> <asp:BoundField DataField="Name" HeaderText=―姓名" SortExpression="Name" /> <asp:BoundField DataField="Sex" HeaderText="Sex" SortExpression="Sex" /> <asp:BoundField DataField="Age" HeaderText="Age" SortExpression="Age" /> </Columns> </asp:GridView> 结果:
PowerBuilder实验指导书
《PowerBuilder》课程实验指导书实验一PB编程环境一、实验目的了解PowerBuilder的集成环境,熟悉PowerBuilder的基本操作以及利用PowerBuilder控件进行简单的编程。
二、实验原理利用PowerBuilder控件进行简单的编程。
三、主要仪器及耗材计算机,PowerBuilder四、实验内容与步骤内容:1. PB 的启动与退出。
2.定制画板与工具条。
3. 利用Template Application创建应用程序。
4. 利用PowerBuilder控件进行简单的编程。
步骤:1.启动双击屏幕上的PowerBuilder图标,就可以启动PowerBuilder。
2.定制画板根据自己的需要将扩展画板加到PowerBar中,以方便使用。
其方法为:在PowerBar 上单击鼠标右键,弹出一个弹出式菜单,选择"Customize", 打开"Customize"对话框,该对话框包括上下两个部分,上部分为PoweBuilder所能提供的所有画板(含基本画板和扩展画板),下部分为目前已经在PowerBar中的画板.可以通过拖的方式把扩展画板加到PowerBar中。
3.定制工具条(1) 在PowerBar上单击鼠标,弹出的菜单中Powerbar1和PainterBar1代表系统当前所打开的工具条。
(2) 单击菜单中的New菜单项就可以生成一个新的工具条,单击后系统弹出一个题为New toolbar 的对话框,要求用户为要创建的工具条选一个名字。
(3) 系统接着弹出一个题为Customize的对话框,此后就可以用和前面类似的方法来定制新创建的工具条。
4.利用Template Application创建应用程序。
在创建workspace之后,单击File→在Target标签中双击Template Application图标→About the Template Application Wizard对话框→What you will do对话框→Specify New Application and Library对话框→Specify Template Type对话框→Adjust Application Library Search Path对话框→Name MDI Frame and Menu对话框→Name MDI Base Sheet,Menu and Service对话框→Name Individual Sheet对话框→Assign Display Names to Sheets对话框→Name About Box and Toolbar Window对话框→Specify Connectivity对话框→Create Project对话框→Ready to Create Application对话框,最后单击Finish。
ASP.NET网站建设 使用数据源控件与数据控件
使用数据源控件和数据控件
本章要点
介绍 使用数据源控件 理解SQL语言 将数据控件同数据源控件关联起来
ADO. NET简介
由Microsoft ActiveX Data Objects (ADO) 改进而来,是一组用于和数据源进行交互的面向 对象类库。通常情况下,数据源是数据库,但它 同样也能够是文本文件、Excel表格或者XML文件。 允许和不同类型的数据源以及数据库进 行交互。
数据源控件
使用数据控件,只需要通过拖放适当的数据控件到 网页中,就可以访问数据库数据。然后它将提示 你指定要连接到哪个数据库以及要从该数据库中检索哪些 数据。所有这些配置都可以通过网页实现,而不 需要编写代码。
在中有五个数据源控件。每个数据源控件的名称 都以DataSource结尾,如SqlDataSource、AccessDataSource 等。每个数据源控件设计用于操作不同的数据源。如 SqlDataSource设计用于从数据库中检索数据, XMLDataSource用于访问XML文件中的数据, SiteMapDataSource用于检查网站地图并返回网站的导航结 构,以便在TreeView或Menu 控件中显示它。
GridView控件和DetailsView控件都可以很容易的在 许多层次上定制其外观。通过【属性】窗口可以 访问许多有外观有关的属性。同时,两个控件都 支持“自动套用格式”,这个功能非常有用。
页中其它所有的Web控件匹配。 ConnectionString:该属性指定用于连接到数据库
的连接字符串。如果选择将连接字符串信息保存 在Web应用的配置文件中,该值将为web.config中 的连接字符串设置的名称。 SelectCommand:该属性指定指定向数据库发出的 SELECT查询。注意该属性值等同于向导中列出的 SELECT命令。
第7章 使用数据控件访问数据库PPT课件
2(Add New)
向记录集加入新的空记录,可以对新记录进行编 辑,移动记录指针新记录写入数据库
7.1 Data数据控件
需要指出是,数据控件本身并不 直接显示记录集中的数据,而是 通过与它绑定的控件(也称绑定 控件)来实现。常用的绑定控件 有文本框、标签、复选框、图片 框和图象框等。数据控件用于绑 定数据库和数据库中的某个数据 表,绑定控件先与数据控件进行 绑定,再绑定数据表中的某个列。 所以要使绑定控件能与数据库进 行连接,必须设置它的两个属性: ①DataSource属性:该属性通过指 定一个有效的数据控件使绑定控 件连接到一个数据库上。 ②DataField属性:该属性设置数据 库有效的字段与绑定控件建立联 系。
7.1 Data数据控件
Data数据控件常用的方法
Refresh方法 UpdateControls方法 UpdateRecord方法
7.1 Data数据控件
数据控件的记录集(RecordSet 对象)
RecordSet对象的常用属性 RecordSet对象的常用方法
7.1 Data数据控件
RecordSet对象的常用属性
Connect属性 DatabaseName属性 RecordSource属性 RecordsetType属性 ReadOnly属性 Exclusive属性 EofAction和BofAction属性
7.1 Data数据控件
EofAction和BofAction属性
该属性是当记录指针指向RecordSet对象的第一条记 录前或最后一条记录后时,数据控件的EofAction 和BofAction属性的设置或返回值决定了数据控件 要采取的操作。其属性的取值如表8.1所示。
StuInfo
课程标准
《基于.NET的WEB编程》课程标准课程名称:基于.NET的WEB编程适用专业:软件技术一、课程定位和设计思路1.课程定位通过对软件行业现状与发展潜力的调查、企事业用人单位IT岗位的需求的调查;通过对《软件代码开发》岗位工作过程的分析;按照为应用型企事业培养软件代码开发和承接软件外包业务的软件企业提供熟练的、懂外语的,具有与未来信息产业工作岗位相适应的职业素质和职业道德、具有较强的学习能力和创新意识、具有较强的IT职业技能,在生产一线从事应用软件开发工作的高技能人才的培养目标,确定了本课程作为《软件代码开发》岗位的一门核心课程的主要地位。
2. 课程设计的理念与思路“基于.NET的web编程”是一门实践性很强的课程,只讲原理是学不会程序设计的,不能使“程序设计”仅仅成为“语法验证”。
理论必须和实践相结合,知识必须和技能相统一。
遵循软件工程的基本原理,从提出一个“学生成绩管理系统”项目的需求开始,到最终完成项目开发交给用户使用为止,通过若干个相对独立而又逐步发展的任务组织知识点。
每一个任务都是先提出要解决的问题,然后明确目标和解决问题的步骤,在.NET Framework 基础上,运用Visual Studio和一种.NET语言进行面向对象程序设计,充分利用面向对象的封装、继承和多态诸特性实现已有的设计模型。
步步为营、逐步发展,给学生持续的动力、兴趣和成就感。
“基于.NETweb编程”依据项目开发的需求组织教学,项目由具体任务组成,通过任务带动关联知识的学习,强调解决问题的能力,而能力由先进实用的技术(工具)、分析设计步骤和模型与语言的表达三者落实。
项目的目标是又快又好地满足用户需求,这必然涉及到软件工程。
程序设计课程自然要学习程序设计语言,但是要以实现项目为目标来学习语言。
学生依据推荐的工具、步骤和模型,通过所学的.NET语言来表达,实现具体任务,进而完成解决实际问题的项目。
仅有.NET语言是不够的,必须通过.NET平台来扩展;实现项目不得不依赖于开发方法。
数据源控件
数据源控件 – AccessDataSource控件使用 System.Data.OleDb提供程序连接到使用 Microsoft.Jet.OLEDB.4.0 OLE DB提供程序 的Access数据库。 – AccessDataSource不会连接到受密码保护的 Access数据库;要从受密码保护的 Access数 据库中检索数据,需要使用SqlDataSource控 件。
数据源控件 <asp:AccessDataSource ID="ID_Name" runat="server" DataFile="File of Access Database" SelectCommand="string" CacheDuration=" Infinite|string" CacheExpirationPolicy=" Absolute|Sliding" EnableCaching="True|False" CancelSelectOnNullParameter="True|False"
数据源控件 • AccessDataSource – AccessDataSource数据源控件可以检索 Microsoft Access数据库(.mdb 文件)中的 数据。然后在数据绑定控件,GridView、 FormView等,显示数据。 – AccessDataSource控件继承了 SqlDataSource类,并用DataFile属性替换了 ConnectionString属性,连接到Microsoft Access数据库。
数据源控件 <asp:XmlDataSource ID="ID_Name" runat="server" CacheDuration=" Infinite|string" CacheExpirationPolicy=" Absolute|Sliding" DataFile="File of XML" Data=”Text” Transform="File of XSLT" TransformFile="File of XSL" XPath=”string”
7第七章 对数据库的操作(数据控件的使用)
① ②
③
QueryString:将在HTTP请求查询字 符串上传递的字段值绑定到参数中。
.NET程序设计
附-删除代码
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT [SNO], [NAME], [SEX], [AGE] FROM [student]" DeleteCommand="DELETE FROM student WHERE (SNO = @sno)"> <DeleteParameters> <asp:QueryStringParameter Name="sno" /> </DeleteParameters> </asp:SqlDataSource>
.NET程序设计设计
2. 使用参数
四个基本操作: 查询 更新 删除 添加
【返回】
.NET程序设计
带参数的查询
Select命令: SELECT SNO, NAME, SEX, AGE FROM student WHERE (SNO=@sno)
由Control指定查询参数 参数前面要有@
数据源控件
数据绑定控件
.NET程序设计
第7章 技术(数据处理)
7.1 数据源控件 7.2 数据绑定控件
.NET程序设计
7.1 数据源控件
SqlDataSource AccessDataSource SiteMapDataSource LinqDataSource ObjectDataSource XmlDataSource 提供对SQL Server、OLE DB、ODBC或Oracle数据库的访问 提供对Access数据库的访问 用于处理从站点地图中获取的数据。 可使用LINQ语言从数据对象中检索和修改数据 LINQ 实现与中间层业务对象进行交互 用于处理XML文件
专题——数据源使用说明
报表产品 V3.5专题介绍数据源使用说明北京皕杰汇智科技有限公司目录一、关系数据库 (2)1.1设计器中数据源的创建 (2)1.1.1 配置数据库驱动 (2)1.1.2 创建数据源 (2)1.1.3 报表中的使用 (3)1.2服务器端数据源的配置 (4)1.2.1 创建JNDI (4)1.2.2 添加驱动 (4)1.2.3 创建dataSource节点 (4)二、文本数据源 (5)2.1设计器中数据源的创建 (5)2.1.1 创建文本数据源 (5)2.1.2 报表中的使用 (6)2.2服务器端数据源的配置 (7)2.2.1 创建JNDI (7)2.2.2 添加驱动 (7)2.2.3 创建dataSource节点 (7)三、XML数据源 (8)3.1设计器中XML数据源的创建及使用 (8)3.1.1 创建xml数据源 (8)3.1.2 在报表中的使用 (10)3.2服务器端数据源的配置 (12)四、WEBSERVICE数据源 (13)4.1设计器中WEBSERVICE数据源的创建及使用 (13)4.1.1 创建webservice数据源 (13)4.1.2 在报表中的使用 (14)4.2服务器端数据源的配置 (17)一、关系数据库关系数据库是指支持关系模型的数据库,类似于Oracle,SqlServer等,下面我们以oracle 数据源为例,介绍一下关系数据库的使用方法。
1.1设计器中数据源的创建1.1.1 配置数据库驱动首先配置数据库的驱动,单击“窗口”菜单的“首选项”命令,或者单击工具栏的“”按钮,可以打开“首选项”对话框,我们打开“报表运行时配置”选项卡,单击“添加”按钮,选择我们存放oracle数据驱动的路径,单击“打开”按钮,即添加数据库驱动成功。
如图:1.1.2 创建数据源然后创建数据源,单击“语义”菜单的“数据源映射”命令,或选择某个项目,右击——新建——数据源映射,出现“新建数据源”对话框,选择需要创建关系数据源的项目,输入数据源名称,选择数据源类型为“关系数据库”,如图:单击“下一步”,在出现的对话框中,选择所需的数据库,数据库驱动,以及填写url,用户名和密码等,如图:单击“检测数据源”,出现“”说明连接成功,单击“完成”即可。
各种控件的详细使用介绍
各种控件的详细使用介绍:常用属性,常用事件,常用的方法控件的分类(控件根据所属的基类,进行划分)根据是否能容纳其他控件,可以分为:容器类控件(包括:表单集,表单,表格,表格列,页框,页面,命令按钮组,选项按钮组,工具栏,容器控件)非容器类控件(包括:标签,文本框,编辑框,命令按钮,复选框,列表框,组合框,微调框,形状,计时器,线条,图像)另外一种划分方法,是根据控件和数据环境中数据源的关系进行划分,控件分为:绑定型控件是指内容可以和与数据环境后端的表、视图或查询中的字段和内存变量相关联的控件。
在该控件中输入、修改或选择的值将保存在数据源中,而数据源中值的改变,也将改变控件的值。
(复选框,文本框,编辑框,列表框,组合框,表格,选项按钮组,微调框,activex控件)非绑定型控件是指其内容不与后端的表、视图和查询中的字段或内容相关联的控件。
(命令按钮,命令按钮组,线条,标签,计时器,形状,图像)一、标签控件(Label)——非容器类控件,非数据绑定控件用以显示文本,显示提示信息。
标签上的显示文本由caption属性指定。
其中的文本在表单运行时不能被用户直接修改。
常用属性:常用事件:mousemove 鼠标移动事件mousedown 鼠标按下左键事件Click 单击事件mouseup 释放鼠标左键事件【范例】参考实验作业HomeWork7-1-1.scx。
二、文本框与编辑框——非容器类控件,数据绑定控件文本框——用以显示或编辑表中的非备注型字段的数据。
编辑框——用途与文本框相似,用以显示或编辑长字段或备注型字段的数据。
两者均为数据绑定控件,非容器类控件文本框的常用属性:•ControlSource 指定与文本框绑定的数据源•Value 指定文本框的当前选定的值例如:value=0 表示文本框中的数据设置为数值型,不能输入字母或汉字•PasswordChar用设定的字符来显示用户输入的值,而实际输入保存在value属性中。
数据库操作实验
项目一数据源显示实验目标本实验项目介绍如何利用DataGird控件显示数据库数据技术要点DataGird控件的使用,添加SqlServerCe引用,配置数据源实验步骤1.首先,运行visual studio2005,创建名为“数据显示”的智能设备应用程序。
2.右键单击“数据显示”解决方案,执行“添加引用”,如下图在“.NET”选项卡中选择;“System.Data.SqlServerCe”3.在窗体的代码视图中添加using System.Data.SqlServerCe;4.在窗体设计视图,打开“数据”菜单,执行“添加数据源…”,如下图所示,选择“数据库”,单击“下一步”,在新对话框中单击“新建连接…”,在“添加连接”对话框中设置“数据源”为“我的电脑”,“数据库”为“C:\Program Files\Microsoft Visual Studio8\SmartDevices\SDK\SQL Server\Mobile\v3.0\Northwind.sdf”,并测试数据库连接;测试成功后,将数据文件复制到当前工程,并选中数据表。
5.执行“数据”菜单中的显示数据源,将Categories表拖动到窗体中,自动生成categoriesDataGird控件,右键单击数据网格右上角小箭头,执行“生成数据窗体”,设置“dock”属性为“top”6.将Products表拖入窗体中,自动生成productsDataGird控件,设置“dock”属性为“bottom”,项目二SQL数据库操作实验目标本实验项目介绍数据库操作的编程方法。
技术要点查询、插入、删除、更新数据库实验步骤打开示例文件,熟悉SQL语句1.添加天气源引用;2.安装sqlite,并添加引用;3.如图添加窗体控件:4.为按钮添加事件:public partial class Form1:Form{public Form1(){InitializeComponent();}string dbPath="/program files/weatherDB.db";private string[]array=new string[23];//数组存放从网络服务器获得的数据private Bitmap MyImage;//初始化,禁用按键private void Form1_Load(object sender,EventArgs e){this.button1.Enabled=false;this.button2.Enabled=false;this.button3.Enabled=false;//this.bReadDB.Enabled=false;this.Text="基于WINCE的天气信息终端";}//显示图像public void ShowMyImage(String fileToDisplay,int xSize,int ySize){if(MyImage!=null){MyImage.Dispose();}//扩展图像到pictureboxpictureBox1.SizeMode=PictureBoxSizeMode.StretchImage;MyImage=new Bitmap(fileToDisplay);pictureBox1.ClientSize=new Size(xSize,ySize);pictureBox1.Image=(Image)MyImage;}private void callWeatherService()//建立连接,从服务器获取数据{string weatherCityName;weatherCityName=this.textBox1.Text.ToString();.webxml.www.WeatherWebService weatherWS=new WeatherWebService();array=weatherWS.getWeatherbyCityName(weatherCityName);}private void showTodayWeather()//当天天气{//#region MyRegionthis.lProvince.Text=array[0];this.lCity.Text=array[1];label1.Text="今日天气实况:";bel3.Text=array[6];bel4.Text=array[5];bel5.Text=array[7];ShowMyImage("/Program Files/weatherpic/"+array[8],70,65);//#endregion}private void showTomorrowWeather()//明天天气{//#region MyRegionlabel1.Text="明日天气实况:";bel3.Text=array[13];bel4.Text=array[12];bel5.Text=array[14];ShowMyImage("/Program Files/weatherpic/"+array[15],70,65);//#endregion}private void showDayAfterTomWeather()//后天天气{//#region MyRegionlabel1.Text="后天天气实况:";bel3.Text=array[18];bel4.Text=array[17];bel5.Text=array[19];ShowMyImage("/Program Files/weatherpic/"+array[20],70,65);//#endregion}private void button1_Click(object sender,EventArgs e){showTodayWeather();}private void button2_Click(object sender,EventArgs e){showTomorrowWeather();}private void button3_Click(object sender,EventArgs e){showDayAfterTomWeather();}private void bSetCity1_Click(object sender,EventArgs e) {this.textBox1.Text="广州";this.bSetCity1.Text="查询中...";callWeatherService();showTodayWeather();getFromSer();this.bSetCity1.Text="广州";this.button1.Enabled=true;this.button2.Enabled=true;this.button3.Enabled=true;//this.bReadDB.Enabled=true;}private void bSetCity2_Click(object sender,EventArgs e) {this.textBox1.Text="中山";this.bSetCity2.Text="查询中...";callWeatherService();showTodayWeather();getFromSer();this.bSetCity2.Text="中山";this.button1.Enabled=true;this.button2.Enabled=true;this.button3.Enabled=true;//this.bReadDB.Enabled=true;}private void bReadDB_Click(object sender,EventArgs e) {readDB();this.button1.Enabled=true;this.button2.Enabled=true;this.button3.Enabled=true;}//---------------------数据库部分//创建本地数据库private void setData(string[]hello){if(System.IO.File.Exists(dbPath))System.IO.File.Delete(@dbPath);//删除原文件if(!System.IO.File.Exists(dbPath)){System.Data.SQLite.SQLiteConnection.CreateFile(dbPath);//创建数据库文件//连接数据库System.Data.SQLite.SQLiteConnection conn=newSystem.Data.SQLite.SQLiteConnection();conn.ConnectionString="data source="+dbPath;conn.Open();//创建表System.Data.SQLite.SQLiteCommand cmd=new System.Data.SQLite.SQLiteCommand();string sql="CREATE TABLE weather(province varchar(20),city varchar(20),date1 varchar(20),tem1varchar(20),wind1varchar(20),pic1varchar(20),date2varchar(20),tem2 varchar(20),wind2varchar(20),pic2varchar(20),date3varchar(20),tem3varchar(20),wind3 varchar(20),pic3varchar(20))";mandText=sql;cmd.Connection=conn;cmd.ExecuteNonQuery();//插入数据sql="INSERT INTO weather VALUES('"+hello[0]+"','"+hello[1]+"','"+ hello[2]+"','"+hello[3]+"','"+hello[4]+"','"+hello[5]+"','"+hello[6]+"','"+ hello[7]+"','"+hello[8]+"','"+hello[9]+"','"+hello[10]+"','"+hello[11]+"','" +hello[12]+"','"+hello[13]+"');";mandText=sql;cmd.ExecuteNonQuery();MessageBox.Show("创建本地数据库:"+dbPath);conn.Close();System.Data.SQLite.SQLiteConnection.ClearAllPools();}}//服务器的数据信息存到数组中private void getFromSer(){string[]hello=new string[15];hello[0]=array[0];hello[1]=array[1];hello[2]=array[6];hello[3]=array[5];hello[4]=array[7];hello[5]=array[8];hello[6]=array[13];hello[7]=array[12];hello[8]=array[14];hello[9]=array[15];hello[10]=array[18];hello[11]=array[17];hello[12]=array[19];hello[13]=array[20];setData(hello);}private void readDB()//读取本地数据库{if(System.IO.File.Exists(dbPath)){this.bReadDB.Text="读取ing";//连接数据库System.Data.SQLite.SQLiteConnection conn=newSystem.Data.SQLite.SQLiteConnection();conn.ConnectionString="data source="+dbPath;conn.Open();System.Data.SQLite.SQLiteCommand cmd=new System.Data.SQLite.SQLiteCommand();cmd.Connection=conn;//取出数据string sql="SELECT*FROM weather";mandText=sql;System.Data.SQLite.SQLiteDataReader reader=cmd.ExecuteReader();StringBuilder sb=new StringBuilder();while(reader.Read()){sb.Append(reader.GetString(0)).Append(":").Append(reader.GetString(1)).Append(":").Append(reader.GetString(2)).Append(":").Append(reader.GetString(3)).Append(":").Append(reader.GetString(4)).Append(":").Append(reader.GetString(5)).Append(":").Append(reader.GetString(6)).Append(":").Append(reader.GetString(7)).Append(":").Append(reader.GetString(8)).Append(":").Append(reader.GetString(9)).Append(":").Append(reader.GetString(10)).Append(":").Append(reader.GetString(11)).Append(":").Append(reader.GetString(12)).Append(":").Append(reader.GetString(13)).Append(":");}string[]hello=sb.ToString().Split(':');array[0]=hello[0];array[1]=hello[1];array[6]=hello[2];array[5]=hello[3];array[7]=hello[4];array[8]=hello[5];array[13]=hello[6];array[12]=hello[7];array[14]=hello[8];array[15]=hello[9];array[18]=hello[10];array[17]=hello[11];array[19]=hello[12];array[20]=hello[13];this.bReadDB.Text="读取本地数据库";conn.Close();System.Data.SQLite.SQLiteConnection.ClearAllPools();showTodayWeather();}else{MessageBox.Show("无法找到本地数据库文件:"+dbPath);} }}。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验指导书
实验七数据源控件的使用
一、实验目的
1.掌握常用数据源控件的用法。
2.掌握数据源控件与数据显示控件结合起来实现相关查询。
二、实验学时
4学时
三、实验内容
1.
1)查询数据库Northwind.mdb“产品”表中“库存量”>39的所有记录,用GridView显示查询结果,并要求对查询结果可以更新其中记录字段的值。
2)查询数据库Northwind.mdb“订单”表中“货主城市”的值等于TextBox1中输入的所有记录。
实验步骤:
1)在VS 中新建网站
2)在解决方案资源管理器中App_Data文件夹中添加数据库文件(NorthWind.mdb)
3)页面中添加AccessDataSource控件,配置数据源,设置相应查询语句
4)在页面中添加相应数据显示控件,显示查询结果
注意事项:
1)可在解决方案资源管理器中再添加三个页面
2)本次使用数据源控件AccessDataSource结合显示控件GridView,不涉及写C#代码程序。
3)设置SQL语句中“where”条件时,注意一下“源”。
1。