c#学生版可以对 c sqlite数据库操作作吗

当前位置: >
C#+SQL 在线作业提交管理系统
  本编号为NET_205,C#.NET+SQL开发
  内容:程序代码,(9867字)
  摘要:作业提交系统是基于B/S结构,在.NET平台上使用C#与Microsoft SQL 2000开发的。主要目的是解决学生提交作业和教师批改作业都得靠纸质交流,或者是用单一的上传,拷贝等方法交流不方便的问题。系统分了管理员模块和学生模块,学生提交作业采用在线提交方式,根据选择教师来选择作业,在教师公布标准答案之后查看作业标准答案。系统具有操作简便,界面友好的特性。管理员能够对用户信息和权限进行方便的修改和管理。论文详细阐述了本系统的开发背景、研究意义,开发环境以及系统的需求分析,详细说明了数据库的设计,以及系统各功能的实现。
  作业提交系统有着很好的应用前景,用来代替传统的作业提交方式,实现在线作业提交方式的网络化管理。随着计算机技术和网络技术的发展,它的功能将会得到不断的发展和完善。
  关键词:作业提交系统;SQL server 2000;.NET平台;
  目&& 录
  1 引言
  1.1 本课题选题背景及目的
  1.2 本课题选题意义
  1.3 本课题研究思路和方法
  1.4 本课题预期结果
  2 开发平台与语言简介
  2.1 .net简介
  2.2 HTML标记语言
  2.3 C# 简介
  2.4 ADO.NET简介
  2.5 Microsoft SQL Server 2000简介
  2.6 浏览器/服务器模型
  3 系统需求分析
  3.1 系统业务需求及特点
  3.1.1 业务需求
  3.1.2 系统特点
  3.2 用户特点
  3.2.1 管理员用户
  3.2.2 学生用户
  3.3 系统业务流程图
  3.4 数据流图
  3.5 开发环境
  3.6 限制条件
  4 系统设计与实现
  4.1 系统功能划分
  4.2 系统功能体系图
  4.3 数据库设计
  4.3.1 数据库E-R图
  4.3.2 数据库表
  4.3.3 数据库表说明
  4.4 管理员模块的设计与实现
  4.4.1 用户界面
  4.4.2 增删改管理员用户
  4.4.3 添加新用户
  4.4.4 修改删除普通用户
  4.5 学生模块的设计与实现
  4.5.1 用户界面
  4.5.2 提交作业
  4.5.3 查询作业成绩
  4.5.4 查看标准答案
  4.5.5 普通用户修改资料
  5 系统测试与测试结论
  5.1 管理员模块测试
  5.1.1 测试方法
  5.1.2 测试结果
  5.2 学生模块测试
  5.2.1 测试方法
  5.2.2 测试结果
  5.3 测试结论
  1 引言
  1.1 本课题选题背景及目的
  随着互联网技术的迅猛发展,网络给人们带来了很多便利,但是在目前的高校教学系统中,学生提交作业和教师批改作业都得靠纸质交流,或者是用单一的上传,拷贝等方法交流。这样的传统作业提交批改方式已经过时,而且也无法满足现在高效率的时代。因此设计开发了此系统。该系统完全可以淘汰纸质作业的形式,首先可以方便学生查看作业的批改情况以便于更好的学习,其次可以在教师发布标准答案之后查看标准答案方便和自己的作业进行对比学习。开发此系统的目的在于方便教师和学生的互动交流,大大提高学生提交作业,教师批改作业的效率。
  1.2 本课题选题意义
  网络化教育代表了教育改革的一个发展方向,已经成为现代教育的一个特征,并对教育的发展形成新的推动力。通过Internet来实现网上作业提交,是现代教育技术的一个具体实现,具有很重要的现实意义。作业在线提交系统可以实现学生在线提交作业的无纸化管理,可以有效利用校园网的软硬件资源,提高学生提交作业的效率,使其发挥最大效力,更好的为学校的教学、科研、管理服务,随时随地的可以让学生联机操作提交。让学生能和教师进行更好的互动式的学习与教学。
  本系统有着很好的应用前景,用来代替传统的作业提交方式,实现在线作业提交方式的网络化管理。随着计算机技术和网络技术的发展,它的功能将会得到不断的发展和完善。
  1.3 本课题研究思路和方法
  本系统的开发要求采用B/S结构,应首先分析用户需求的相关功能后写出需求分析;其次,综合运用以前所学的相关知识(数据结构,C语言等),选择所熟悉的开发工具进行开发(本系统选择了Microsoft Visual Studio .NET 2003作为开发平台,开发语言选择了C#;数据库采用Microsoft SQL Server 2000),在设计中以需求分析为基础,写出系统开发计划,实现流程及相关问题的实现方法;同时,在开发设计与实现中,要保存好相关的设计文档。最后,系统开发完毕后,进行调试和试运行,并做好调试和试运行的相关记录。
  1.4 本课题预期结果
  本设计的预期成果是完成作业提交批改系统的部分功能--作业上传和管理用户,并能够实现作业在线提交功能;作业参考答案的下载;在线实时查看作业批改的情况;用户信息管理(教师用户,学生用户,管理员用户),设置用户的功能和权限。同时,还要求与另一位同学所设计与实现的&作业审阅系统&集成在一起,形成一个真正实用的、功能完善的作业在线提交批改系统。
  3 系统需求分析
  3.1 系统业务需求及特点
  3.1.1 业务需求
  系统要求管理员管理所有的用户信息,添加,删除用户都必须由管理员来完成,管理员可见所有用户的信息。普通用户(学生和教师用户)只能修改自己的信息。学生可以选择不同的教师,能够准确快速的查看已经布置的作业,学生只能看见自己的作业题目和内容,不能抄袭其他学生的作业。在提交作业以后,教师发布成绩和参考答案之后才能查看成绩与答案。管理员不能看到作业情况。
  3.1.2 系统特点
  性能:安全可靠,实时控制。
  输入/输出:英文和汉字输入,英文和汉字输出。
  安全与保密要求:不能轻易地被破坏,不能让管理员以外的人添加删除用户信息,对断电、死机、系统崩溃等问题有有力措施以保障数据不受损失。
  3.2 用户特点
  3.2.1 管理员用户
  管理员可以是机房管理员,也可以是某位教师,对计算机技术比较了解,责任心和保密意识强。
  3.2.2 学生用户
  学校学生有计算机相关专业学生,能很快熟悉系统的使用方法,非计算机专业的学生也能很快学会并掌握使用系统。
  3.3 系统业务流程图
  系统业务流程如图1所示,管理员用户登陆到管理员模块后,可以管理所有用户(包括管理员用户,教师用户,学生用户)的个人信息,通过添加,修改,删除操作来管理用户信息数据。
  学生用户登陆到学生模块以后,首先只能查看已经布置的作业,提交自己的作业以后才能进行查看作业成绩和查看教师发布的参考答案的操作。在学生模块里学生可以修改自己的个人信息,但是不能删除自己的信息。
  3.4 数据流图
  系统数据流图如图2所示,管理员用户负责管理所有用户的个人信息数据,学生用户可以更改自己的用户数据信息。
  学生用户必须首先撰写自己的作业,然后才能把撰写好的作业数据提交到作业数据库。在提交作业数据之后,学生用户才能通过作业信息数据库查看教师已经发布的作业成绩数据或作业的参考答案数据。
  3.5 开发环境
  1.Microsoft Visual Studio .NET 2003开发平台;
  2.Microsoft SQL Server 2000数据库。
  3.要求系统支持Microsoft .NET Framework 1.1 。
  4.要求系统必须安装IIS。
  3.6 限制条件
  1.学生不可以进入教师与管理员的页面。
  2.管理员也不可以进入学生和教师页面。
  3.普通用户使用修改密码都只能修改自己的密码,无法修改他人的。
  4.不同的用户使用个人数据功能时,只可以看到自己的信息不可以看到其他用户的信息。
  5.学生提交作业的类型,大小,时间等,受到教师发布作业的约束。
  6.只有当教师发布作业的标准答案之后,学生才能查看作业的标准答案。
  7.当老师发布新的作业之后,学生才可以查看到作业题目并提交作业。
  8.学生作业提交之后,不可以再更改作业内容。
  9.只有当老师公布成绩之后,学生方可查看作业成绩。
  4 系统设计与实现
  4.1 系统功能划分
  1.系统分为管理员模块和学生模块;
  2.不同用户登录进入不同的界面;
  3.学生作业的查看与提交;
  4.学生作业成绩的查看;
  5.作业参考答案的查看;
  6.管理员添加管理员用户、教师用户和学生用户;
  7.管理员修改管理员密码、用户信息与学生用户信息;
  8.管理员删除管理员用户、教师用户和学生用户;
  9.用户对个人资料的查看与修改。
  结论:本次毕业设计主要分析了作业在线提交系统的实现的主要方法,并对系统进行的详细的需求分析,对开发所需要的相关主要技术做了描述。同时设计并实现了一个简单的作业在线提交系统。该系统是基于Microsoft Visual Studio .NET 2003开发平台与Microsoft SQL Server工具进行数据库的设计,采用C#语言进行开发的。是一个实验性的系统。该系统实现作业在线提交功能;作业参考答案的下载;在线实时查看作业批改的情况;用户信息管理(教师用户,学生用户,管理员用户),设置用户的功能和权限等一些基本的功能。同时,还与另一位同学所设计与实现的&作业在线批阅系统&集成在一起,形成了一个真正实用的、功能完善的作业提交审阅系统。系统已经进行了测试,基本功能都成功了,但是因为初次开发,在系统中难免存在着各种问题,这些会在以后的时间里进行更正。
  参考文献
  [1] (美)莱特(Wright,C.),胡俊哲,英宇.C#编程技术与技巧[M].北京:机械工业出版社,2002.9。
  [2] 方睿,刁仁宏,吴四九. 网络数据库原理及应用[M].成都:四川大学出版社,2005.8。
  [3] (美) Jason Beres,袁鹏飞.21天学通Visual Studio .NET 2003[M].北京:人民邮电出版社,2003。
  [4] 张海藩.软件工程导论[M].北京:清华大学出版社,2003年12月第4版。
  [5] 吉根林,崔海源.ASP.NET程序设计教程[M].北京:电子工业出版社,2005.7。
  [6] (美)Chris Ullman, Chris Goode,康博.ASP.NET入门经典[M].北京:清华大学出版社,2002.5。
  [7] (美)Kris Jamsa,Konrad King,Andy Anderson,吴悦,吴冲华.北京:HTML & Web设计技术与技巧[M].机械工业出版社,2002.9。
以上是大纲或介绍,如需要完整的资料请联系客服购买.本站所有毕业设计(论文)均通过审核,标准格式,质量保证.
1.联系在线客服,将您看中的毕业设计(论文)名称或网址发给客服.(如QQ不在线请留言,我们会尽快回复您) 2.与客服确认您要毕业设计(论文)并询问价格.(为了保证资料可用性,我们承诺每个地区只售一次) 3.付款.支付后通知客服确认并发送资料. (发送方式一般是以邮件附件的形式或者QQ在线传送)using System.Collections.G
using System.D
using System.Data.SqlC
using System.D
using System.T
using System.Windows.F
namespace DataSource
public partial class Form1 : Form
     public Form1()
     {
       InitializeComponent();
     }
private DataSet ds = new DataSet();
private SqlConnection conn =
private SqlDataAdapter da =
private const string DRIVER = "server=.;database=uid=pwd=sa";
private const string sql_select = "select * from region";
* 此方法为将数据库northwind中的region表的数据查询出来并放入DataSet中
private void Form1_Load(object sender, EventArgs e)
     conn = new SqlConnection(DRIVER);
     da = new SqlDataAdapter(sql_select,conn);
     da.Fill(ds,"table");
     this.dataGridView1.DataSource = ds.Tables["table"].DefaultV
private bool BtnInsert() //此方法作用于添加
     da.InsertCommand = conn.CreateCommand();
     mandText = "insert into region(id,ption) values(@id,@ption)";
     da.InsertCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");
     da.InsertCommand.Parameters.Add("@ption", SqlDbType.VarChar, 10, "regiondescription");
     int count = da.Update(ds);
     bool result = count > 0 ? true :
     
private void button1_Click(object sender, EventArgs e)
     if (this.BtnInsert())//调用此方法
     {
       MessageBox.Show("添加成功!");
     }
     else
     {
       MessageBox.Show("添加失败!");
private bool BtnDelect() //此方法作用于删除
  SqlParameterpara = new SqlParameter();
  da.DeleteCommand = conn.CreateCommand();
  mandText = "delete fromregion where regionid=@id";
  para = da.DeleteCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");
  para .SourceVersion = DataRowVersion.O//获取原始值
  ds.Tables["table"].Rows[this.dataGridView1.CurrentRow.Index].Delete();
  int count = da.Update(ds);
  bool result = count > 0 ? true :
private void button2_Click(object sender, EventArgs e)
  if (this.BtnDelect())//调用删除方法
     MessageBox.Show("删除成功!");
     MessageBox.Show("删除失败!");
private bool BtnUpdate() //此方法作用于修改
  SqlParameter para = new SqlParameter();
  da.UpdateCommand = conn.CreateCommand();
  mandText = "update region set regionid=@id,regiondescription=@ption where regionid=@oldid";
  da.UpdateCommand.Parameters.Add("@id", SqlDbType.Int, 4, "regionid");
  da.UpdateCommand.Parameters.Add("@ption", SqlDbType.VarChar, 10, "regiondescription");
  para= da.UpdateCommand.Parameters.Add("@oldid", SqlDbType.Int, 4, "regionid");
  para .SourceVersion = DataRowVersion.O
  int count = da.Update(ds);
  bool result = count > 0 ? true :
private void button3_Click(object sender, EventArgs e)
  if (this.BtnUpdate())//调用修改方法
     MessageBox.Show("修改成功!");
     MessageBox.Show("修改失败!");
声明:该文章系网友上传分享,此内容仅代表网友个人经验或观点,不代表本网站立场和观点;若未进行原创声明,则表明该文章系转载自互联网;若该文章内容涉嫌侵权,请及时向
上一篇:下一篇:
相关经验教程
的原创经验被浏览,获得 ¥0.002 收益
的原创经验被浏览,获得 ¥0.002 收益
的原创经验被浏览,获得 ¥0.002 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.005 收益
的原创经验被浏览,获得 ¥0.001 收益
的原创经验被浏览,获得 ¥0.005 收益下面以Access数据库为例说明,用C#的DataSet类访问数据库的一些操作方法。
操作涉及的主要C#类有:
DataSet:对应数据库表的一个集合,实际上是数据库表在内存中的一个缓存
DataTable:对应数据库表,是数据库表行的集合
DataRow:对应数据库表行
OleDbConnection:建立数据库连接
OleDbDataAdapter:由数据库生成DataSet,并负责DataSet与数据库的同步
OleDbCommandBuilder:生成更新数据库所需的指令
DataSet、DataTable、DataRow用于数据在缓存中的操作,这上面的操作只有更新到数据库中,修改结果才会被永久保存。OleDbConnection 是用OLEDB方法连接数据库所必需的。OleDbDataAdapter和OleDbCommandBuilder用来生成DataSet,完成数据库更新。与OleDbDataAdapter和OleDbCommandBuilder相对应,SqlDataAdapter和SqlCommandBuilder也可以完成用SQL语言为指令的数据库更新。
假设在D:盘创建了Access数据库,其路径为d:\0DBAcs\account.mdb,数据库中有一张名为kaizhi的数据库表。表结构如下:
表名;Kaizhi
&字段Field Name类型说明
1开支IDkzID长整型自动编号
2开支人Kzren文本50字符
3开支项目名kzname文本50字符
4日期riqi日期/时间99-99-99;0掩码
5开支说明shuoming文本225字符
6总金额zonge单精度小数点任意;这项开支的总花费
7数量shuliang长整型&
8单价Danjia单精度小数点任意
表建好之后:(1)对表中添加新数据(2)查询表中的某个字段。为了实现这两项功能,以下几个问题要考虑:
声明必须的公共变量
建立与数据库的连接,创建DataSet对象
在DataSet对象上添加记录
同步DataSet对象对象与数据库中的数据,这一点很重要,很多人忘记了数据进行同步,结果往往是添加、修改的数据不能保存到数据库中。
3查询数据库表中某记录的某字段;
我们可以将上述功能用一个类DataOper实现,下面是程序设计的主要活动。
声明要用的C#系统类
using System.Collections.G
using System.T
using System.IO;
using System.D
using System.Data.OleDb;
using System.Data.SqlC
声明DataOper类中的公共变量
private string DB
private OleDbC //数据库连接
private OleDbDataA
建立与数据库的连接,这里采用了OLEDB方法:
dbconn = new OleDbConnection(@"provider=microsoft.jet.oledb.4.0; Data Source=d:\0DBAcs\account.mdb");
dbconn.Open();
创建DataSet对象
da = new OleDbDataAdapter(@"select * from kaizhi", dbconn); //引用数据库连接dbconn并依据SQL语句"select * from kaizhi"创建OleDbDataAdapter对象da
DataSet ds = new DataSet(); //创建DataSet对象
da.Fill(ds); //用OleDbDataAdapter对象da填充、更新刚创建的DataSet对象
添加记录并更新数据库
&&OleDbCommandBuilder cb = new OleDbCommandBuilder(da); // 创建OleDbCommandBuilder对象cb用于更新OleDbDataAdapter对象da的Insert、Delete、Update指令
&&da.UpdateCommand = cb.GetUpdateCommand(); //更新OleDbDataAdapter对象da的指令
设计人员可以编写自己的更新指令,也可以象上面所写的那样用系统默认的指令。但不管怎样,上面的语句不能缺少,否则程序在运行中会抛出异常System.InvalidOperationException,并提示:Update requires a valid InsertCommand when passed DataRow collection with new rows.
DataRow drx = ds.Tables[0].NewRow(); //创建一条新记录行
&& & & & & &drx["kzren"] = "kzren";
&& & & & & &drx["kzname"]="kzname";
&& & & & & &drx["riqi"]=;
&& & & & & &drx["shuoming"]="shuoming";
&& & & & & &drx["zonge"] = 12;
&& & & & & &drx["shuliang"] = 3;
&& & & & & &drx["danjia"] = 4;
&& & & & & &ds.Tables[0].Rows.Add(drx); //在表中追加记录
&& & & & & &da.Update(ds); //更新数据库
要查询引用某记录的某字段,直接按如下的方法引用就可以了。
String kx=ds.Tables[0].Rows[0]["kzren"].ToString()
连接access
首先看一个例子代码片断:
--------------------------------------------------------------------------------
using system.
using system.data.
string strconnection="provider=microsoft.jet.oledb.4.0;";
strconnection+=@"data source=c:\begaspnet\northwind.mdb";
oledbconnection objconnection=new oledbconnection(strconnection);
objconnection.open();
objconnection.close();
--------------------------------------------------------------------------------
 连接access数据库需要导入额外的命名空间,所以有了最前面的两条using命令,这是必不可少的!
 strconnection这个变量里存放的是连接数据库所需要的连接字符串,他指定了要使用的数据提供者和要使用的数据源.
 "provider=microsoft.jet.oledb.4.0;"是指数据提供者,这里使用的是microsoft jet引擎,也就是access中的数据引擎,asp.net就是靠这个和access的数据库连接的.
 "data source=c:\begaspnet\northwind.mdb"是指明数据源的位置,他的标准形式是"data source=mydrive:mypath\myfile.mdb".
 1."+="后面的"@"符号是防止将后面字符串中的"\"解析为转义字符.
 2.如果要连接的数据库文件和当前文件在同一个目录下,还可以使用如下的方法连接:
  strconnection+="data source=";
  strconnection+=mappath("northwind.mdb");
  这样就可以省得你写一大堆东西了!
 3.要注意连接字符串中的参数之间要用分号来分隔.
 "oledbconnection objconnection=new oledbconnection(strconnection);"这一句是利用定义好的连接字符串来建立了一个链接对象,以后对数据库的操作我们都要和这个对象打交道.
 "objconnection.open();"这用来打开连接.至此,与access数据库的连接完成.其余操作(插入,删除...)请参阅相关书籍
连接sql server
例子代码片断:
--------------------------------------------------------------------------------
using system.
using system.data.
string strconnection="user id=password=;";
strconnection+="initial catalog=server=";
strconnection+="connect timeout=30";
sqlconnection objconnection=new sqlconnection(strconnection);
objconnection.open();
objconnection.close();
--------------------------------------------------------------------------------
连接sql server数据库的机制与连接access的机制没有什么太大的区别,只是改变了connection对象和连接字符串中的不同参数.
首先,连接sql server使用的命名空间不是"system.data.oledb",而是"system.data.sqlclient".
其次就是他的连接字符串了,我们一个一个参数来介绍(注意:参数间用分号分隔):
 "user id=sa":连接数据库的验证用户名为sa.他还有一个别名"uid",所以这句我们还可以写成"uid=sa".
 "password=":连接数据库的验证密码为空.他的别名为"pwd",所以我们可以写为"pwd=".
 这里注意,你的sql server必须已经设置了需要用户名和密码来登录,否则不能用这样的方式来登录.如果你的sql server设置为windows登录,那么在这里就不需要使用"user id"和"password"这样的方式来登录,而需要使用"trusted_connection=sspi"来进行登录.
 "initial catalog=northwind":使用的数据源为"northwind"这个数据库.他的别名为"database",本句可以写成"database=northwind".
 "server=yoursqlserver":使用名为"yoursqlserver"的服务器.他的别名为"data source","address","addr".如果使用的是本地数据库且定义了实例名,则可以写为"server=(local)\实例名";如果是远程服务器,则将"(local)"替换为远程服务器的名称或ip地址.
 "connect timeout=30":连接超时时间为30秒.
 在这里,建立连接对象用的构造函数为:sqlconnection.
 其余的就和access没有什么区别了!
********************************************************************************************************************
用c#访问access数据库
&& 我编写这个程序的动机是当我希望用c sharp访问msaccess数据库的时候我没有办法获得任何信息和参考材料.网上所能获得的所有材料都是偏重于sql的,所以我们将分两步来编写这个应用程序,第一我们将展示如何连接到msaccess数据库然后看看它有多复杂.最后,我们就这样完成了这个程序.&
&& 闲言少序,让我们开始正题.连接到数据库的过程与我们早先的ado连接过程相比已经发生了较大的变化.下面的图表恰当的(我希望如此)oledbconnection--& oledbcommand --& oledbdatareader.现在那些熟悉ado的人很明显能看出两者的相似之处但是为了使那些还没有很好的适应ado的人能够明白,下面是一些解释.&
&& oledbconnection --&代表对数据库的单一连接,根据底层数据库的功能它能给你操纵数据库的能力.有一点必须记住,虽然oledbconnection对象出了作用范围,它也不会自动被关闭.所以,你将不得不显示的调用这个对象的close()方法.&
&& oledbcommand --&这是就象我们在ado中使用的一样的通常的command对象.你可以通过这个对象调用sql存储过程或是sql查询语句.&
&& oledbdatareader --&这个类拥有非常大的重要性因为它提供了实际上的对数据库底层数据集的访问.当你调用oledbcommand的executereader方法的时候它就会被创建,.net beta2 sdk说不要直接创建这个类的对象.&
&& 现在你可以在.net beta 2的文档中看到更多的关于这些主要对象的说明,下面是指出如何在程序中访问数据库的源代码.&
&& using system.data.&
&& class oledbtest{&
&& public static void main()&
&& /创建数据库连接&
&& oledbconnection aconnection = new oledbconnection("provider=microsoft.jet.oledb.4.0;data source=c:\\db1.mdb");&
&& /创建command对象并保存sql查询语句&
&& oledbcommand acommand = new oledbcommand("select * from emp_test", aconnection);&
&& aconnection.open();&
&& /创建datareader 对象来连接到表单&
&& oledbdatareader areader = acommand.executereader();&
&& console.writeline("this is the returned data from emp_test table");&
&& /循环遍历数据库&
&& while(areader.read())&
&& console.writeline(areader.getint32(0).tostring());&
&& /关闭reader对象&
&& areader.close();&
&& /关闭连接,这很重要&
&& aconnection.close();&
&& /一些通常的异常处理&
&& catch(oledbexception e)&
&& console.writeline("error: {0}", e.errors[0].message);&
&& 成功运行这个程序的步骤&
&& 1.用msaccess创建一个名叫db1.mdb的数据库&
&& 2.创建一个名叫emp_test的表单&
&& 3.使它包含下列数据域&
&& emp_code int&
&& emp_name text&
&& emp_ext text&
&& 4.将上面的代码保存到sample.cs文件中&
&& 5.确保数据库位于c:\并确保mdac2.6或是更新的版本已经被安装&
&& 6.编译运行&
&& 现在让我们来了解一些我们在oledbconnection对象的构造函数看到的东西的一些细节,在这里你看见诸如"provider="之类的东西.下面是一些和ado.net兼容的驱动程序类型.&
&& sqlolddb --& microsoft ole db provider for sql server,&
&& msdaora --& microsoft ole db provider for oracle,&
&& microsoft.jet.oledb.4.0 --& ole db provider for microsoft jet&
&& 你可以选择其中的任何一个但是他们会需要传递不同的参数,例如jet.oledb.需要传递mdb文件的名字而sqloledb需要传递用户名和密码.&
&& 所有这些驱动程序都位于system.data.oledb命名空间里,所以你必须包括它,而且它们和oledb provider for odbc不兼容,也就是说你不能在vb6.0程序里使用这些驱动程序来访问数据库,所以不要去寻找解释为什么要把这些数据库放在c:\上的资料了&
&& 当你使用microsoft sql server 7.0 或者更新版本的时候,下面是微软给出的一些指导:&
&& 推荐使用.net data provider在下列情况中,使用microsoft sql server 7.0 或者更新版本的中间层应用程序,使用microsoft data engine (msde)或icrosoft sql server 7.0 或者更新版本的单层应用程序.&
&& 建议将ole db provider for sql server (sqloledb)和ole db .net data provider一起使用.&
&& 对于microsoft sql server 6.5和更早的版本,你必须同时使用ole db provider for sql server 和 ole db.net data provider.&
&& 推荐使用microsoft sql server 6.5和更早的版本或是oracle的中间层应用程序使用ole db .net data provider.&
&& 对于microsoft sql server 7.0 或者更新版本,推荐sql server .net data provider.&
&& 推荐单层应用程序使用microsoft access数据库.&
&& 不推荐一个中间层程序同时使用ole db .net data provider和microsoft access数据库.&
&& 不再支持ole db provider for odbc (msdasql)
阅读(...) 评论()

我要回帖

更多关于 c access数据库操作 的文章

 

随机推荐