ImageVerifierCode 换一换
格式:DOCX , 页数:16 ,大小:169.48KB ,
资源ID:16446708      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/16446708.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(实验四文件和数据库访问技术训练Word文档下载推荐.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

实验四文件和数据库访问技术训练Word文档下载推荐.docx

1、 public class TextFromFile static void Main(string args) int num = 0; int word = 0; string FILE_NAME = .article.txt; if (!File.Exists(FILE_NAME) Console.WriteLine(FILE_NAME + 不存在); Console.ReadLine(); return; StreamReader sr = File.OpenText(FILE_NAME); String input; while (input = sr.ReadLine() != n

2、ull) for (int i = 0; i input.Length; i+) if (inputi = | inputi = ,.) word = 0; else if (word = 0) word = 1; num+; sr.Close(); StreamWriter sw = File.AppendText(FILE_NAME); sw.WriteLine(单词个数: + num); Console.WriteLine(统计完成! sw.Close();2、序列化训练使用BinnaryFormatter进行序列化和反序列化。创建Windows应用程序,名称为WindowsApplic

3、ation。设计表单Form1,界面如下图:通过界面中的控件完成对如下类的序列化: public class ClassToSerialize public int id; public string name; NonSerialized public string Sex;具体要求:单击按钮“序列化”时,当文本框输入不全时,显示“信息输入不全”;否则将所填信息序列化到文件“temp.data”中,并提示“序列化成功!”。单击按钮“反序列化”时,在表单的标签上显示结果,如下图:思考:为什么结果中没有性别信息?代码的编写可参考P128P129代码。using System.ComponentM

4、odel;using System.Data;using System.Drawing;using System.Windows.Forms;using System.Runtime.Serialization;using System.Runtime.Serialization.Formatters.Binary;namespace WindowsFormsApplication public partial class Form1 : Form public Form1() InitializeComponent(); Serializable private void button1_C

5、lick(object sender, EventArgs e) ClassToSerialize myInfo = new ClassToSerialize(); if (textBox1.Text = string.Empty | textBox2.Text = string.Empty) MessageBox.Show(请输入正确的信息! myInfo.id = int.Parse(textBox1.Text); myInfo.name = textBox2.Text; if (radioButton2.Checked) myInfo.Sex = radioButton2.Text; m

6、yInfo.Sex = radioButton1.Text;序列化成功! FileStream fileStream = new FileStream(temp.dat, FileMode.Create); BinaryFormatter b = new BinaryFormatter(); b.Serialize(fileStream, myInfo); fileStream.Close(); private void button2_Click(object sender, EventArgs e), FileMode.Open,FileAccess.Read,FileShare.Read

7、); myInfo = b.Deserialize(fileStream) as ClassToSerialize; label4.Text = 反序列化的结果为:+ myInfo.id + + myInfo.name + + myInfo.Sex; 3、数据库读取训练本实验中使用的连接字符串如下:Data Source=.SQLEXPRESS;AttachDbFilename=|DataDirectory|NORTHWND.MDF;Integrated Security=True;User Instance=True1)使用DataAdapter和DataSet访问数据库创建Windows应

8、用程序,名称为DataBaseLx。当点击“取数据”按钮时,效果如下图(读取数据库“NORTHWND.MDF”中的表“Employees”的三列信息):当点击“生成XML”按钮后,效果如下:“取数据”按钮中的代码参考P144。using System.Data.SqlClient;namespace DataBaseLx DataSet ds = new DataSet(); SqlConnection myConnection = new SqlConnection( SqlDataAdapter customersTableAdapter = new SqlDataAdapter(Sele

9、ct EmployeeID,FirstName,LastName FROM Employees, myConnection); customersTableAdapter.Fill(ds, Employees dataGridView1.DataSource = ds.Tables0; button2.Enabled = true; button1.Enabled = false; ds.Tables0.WriteXml(Employees.xml,XmlWriteMode.IgnoreSchema);生成Employees.xml文件! button2.Enabled = false; pr

10、ivate void Form1_Load(object sender, EventArgs e) 2)使用Command和DataReader访问数据库在项目DataBaseLx中添加表单Form2,运行时显示效果如下图,单击列的头部,观察能否排序。参考P149代码。 public partial class Form2 : public Form2() private void Form2_Load(object sender, EventArgs e) SqlCommand myCommand = new SqlCommand( myConnection.Open(); SqlDataR

11、eader myReader = myCommand.ExecuteReader(); BindingSource bs = new BindingSource(); bs.DataSource = myReader; dataGridView1.DataSource = bs; myReader.Close(); myConnection.Close();3)存储过程的使用在项目DataBaseLx中添加表单Form3,要求使用数据库“NORTHWND.MDF”中的存储过程“Ten Most Expensive Products”查询最贵的10种产品,结果显示在datagridveiw上。运

12、行效果如下图:参考P153代码。 public partial class Form3 : public Form3() private void Form3_Load(object sender, EventArgs e)Select TenMostExpensiveProducts,UnitPrice FROM Products SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter(); mySqlDataAdapter.SelectCommand = new SqlCommand(); mySqlDataAdapter.SelectCo

13、mmand.Connection = myConnection; mySqlDataAdapter.SelectCommand.CommandText = Ten Most Expensive Products mySqlDataAdapter.SelectCommand.CommandType = CommandType.StoredProcedure; DataSet myDataSet = new DataSet(); mySqlDataAdapter.Fill(myDataSet, Products dataGridView1.DataSource = myDataSet.Tables

14、;4)使用视图进行排序和筛选在项目DataBaseLx中添加表单Form4,界面设计如下图:运行时出现如下画面:在第一个列表框中显示从Employees表中读取的Title字段,用于筛选的条件;第二个列表框中存放条目“EmployeeID,FirstName,LastName,Title”,用于排序的字段;通过单选按钮进行排序方式的选择。点击“确定”按钮后,在下方的DataGridView中显示所选的Title的记录,并按所选的字段按指定的方式进行排序。排序和筛选功能的实现参考P146代码。 public partial class Form4 : public Form4() private

15、 void Form4_Load(object sender, EventArgs e) SqlDataAdapter myAdapter = new SqlDataAdapter(Select distinct title from Employees myAdapter.Fill(ds, Title comboBox1.DataSource = ds.Tables comboBox1.DisplayMember = Select EmployeeID,FirstName,LastName,Title from Employees dataGridView1.DataSource = ds.Tables.DefaultView; ds.Tables.DefaultView.RowFilter = Title= + comboBox1.Text + string mode = Asc mode = Desc if (comboBox2.Text != string.Empty) .DefaultView.Sort = comboBox2.Text + mode;【4】 思考题1、文件流的参数有哪几个?2、什么是序列化和反序列化?3、比较使用DataSet和DataReader来访问数据过程。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1