举例基于 Connection 的数据库连接程序DOC.docx
- 文档编号:6992087
- 上传时间:2023-01-15
- 格式:DOCX
- 页数:9
- 大小:137.65KB
举例基于 Connection 的数据库连接程序DOC.docx
《举例基于 Connection 的数据库连接程序DOC.docx》由会员分享,可在线阅读,更多相关《举例基于 Connection 的数据库连接程序DOC.docx(9页珍藏版)》请在冰豆网上搜索。
举例基于Connection的数据库连接程序DOC
.NET与关系型数据库
.C#连接SQL Server
using System.Data;
using System.Data.SqlClient; ..
string strConnection="user id=sa;password=;";
strConnection+="initial catalog=Northwind;Server=YourSQLServer;"; strConnection+="Connect Timeout=30";
C#快速入门c#Express2008开...c#与.net编程
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.
一、基于Connection的数据库连接程序
编写一个Web应用程序,要求实现Connection对象的创建,并连接SQLServer的Northwind数据库。
操作步骤
1.建立ASP.NET网站
在VisualStudio.NET集成开发环境中,新建一个名为Example的ASP.NET网站,选择在文件系统E:
\asp8中建立,选择C#语言。
2.添加窗体页面
在“解决方案管理器”窗口,右击项目名称“Example”,在弹出的快捷菜单中选择“添加新项”菜单命令,添加一个命名为“ConnectionExample.aspx”的窗体,单击“添加”按钮。
3.加载命名空间
因为需要连接SQLServer数据库,因此在ConnectionExample.aspx.cs文件的开头加载命名空间。
usingSystem.Data.SqlClient;
4.创建一个SqlConnection对象
在ConnectionExample.aspx.cs文件的Page_Load事件里添加如下代码。
stringstrConnection="Server=(local);Database=Northwind;UserID=sa;
Password=;ConnectionTimeout=30";
SqlConnectionobjConnection=newSqlConnection(strConnection);
objConnection.Open();objConnection.Close();
5.保存、编译程序
二、基于Command的简单数据读取程序
编写一个Web应用程序,在Connection对象的基础之上,创建Command对象,并读取数据源中的数据。
分析:
为加深对Command对象的理解,在实例中使用构造函数创建Command对象。
由于数据提供者为SQLServer的Northwind数据库,因此使用类SqlCommand的构造函数。
要读取数据源中的数据,可利用Command对象的ExecuteReader方法创建DataReader对象,利用Response对象的Write方法显示DataReader结果集中的数据。
操作步骤
1.建立ASP.NET网站
新建一个名为“Example”的ASP.NET网站,选择在文件系统E:
\asp8中建立。
2.添加窗体页面
在“解决方案管理器”窗口,添加一个命名为“CommandExample.aspx”的窗体。
3.加载命名空间
因为需要连接SQLServer数据库,因此,在“CommandExample.aspx.cs”文件的开头加载命名空间。
usingSystem.Data.SqlClient;
4.创建一个SqlCommand对象
在“CommandExample.aspx.cs”文件的Page_Load事件里添加如下代码。
protectedvoidPage_Load(objectsender,EventArgse){
stringstrConnection="Server=(local);Database=Northwind;User
ID=sa;Password=;";
SqlConnectionobjConnection=newSqlConnection(strConnection);
try{objConnection.Open();
SqlCommandcmd=newSqlCommand("select*fromregion",
objConnection);
SqlDataReaderreader=cmd.ExecuteReader();
for(inti=0;i Response.Write(reader.GetName(i)+" "); Response.Write(" align=left>"); while(reader.Read()){ for(inti=0;i Response.Write(reader.GetValue(i)+" "); Response.Write(" catch(SqlExceptionex){Response.Write(ex.Message.ToString());} finally{objConnection.Close();}} 5.保存、编译、运行程序 在“解决方案资源管理器”窗口中的“CommandExample.aspx”文件上右击,在快捷菜单中选择“设为起始页”菜单命令,然后单击工具栏上的“启动”按钮,运行该程序。 三、基于DataReader的简单数据访问程序 编写一个Web应用程序,使用Connection、Command、DataReader这3个对象实现数据访问。 分析 DataReader对象可以方便快捷地读取数据,在一些特殊场合,如应用程序不需要对数据做任何修改,只是读取和显示,使用DataReader对象可以大大节省系统资源。 操作步骤 1.建立ASP.NET网站 在VisualStudio.NET集成开发环境中,新建一个名为“Example”的ASP.NET网站,选择在文件系统E: \asp8中建立,选择C#语言。 2.添加窗体页面 在“解决方案管理器”窗口中右击项目名称“Example”,在弹出的快捷菜单中选择“添加新项”菜单命令,添加一个命名为“DataReaderExample.aspx”的窗体,单击“添加”按钮。 3.添加控件 在“DataReaderExample.aspx”的“设计”页面上放置3个GridView控件。 4.修改Web.config 在Web.config文件的 uid=sa;pwd=;"> 5.加载命名空间 因为需要连接SQLServer数据库,因此,在“DataReaderExample.aspx.cs”文件的开头加载命名空间。 usingSystem.Data.SqlClient; 6.创建一个SqlDataReader对象 在“DataReaderExample.aspx.cs”文件的Page_Load事件里添加如下代码。 protectedvoidPage_Load(objectsender,System.EventArgse){ StringstrConnection=System.Configuration.ConfigurationSettings.AppSettings["Northwind"]; SqlConnectionconn=newSqlConnection(strConnection); StringstrCount="SelectCount(ProductName)asProductNumFrom[Products]"; conn.Open();SqlCommandcmd=newSqlCommand(strCount,conn); SqlDataReaderreader=cmd.ExecuteReader(); GridView1.DataSource=reader;GridView1.DataBind();reader.Close(); StringstrSql="Selecttop3ProductName,CompanyName,UnitPrice"+"From[Products],[Suppliers]"+"Where[Products].SupplierID=[Suppliers].SupplierIDOrderby ProductId;"+"Selecttop3CompanyName,ContactName,Address"+"From[Customers]OrderbyCustomerId"; cmd.CommandText=strSql;reader=cmd.ExecuteReader(); GridView2.DataSource=reader;GridView2.DataBind();reader.NextResult(); GridView3.DataSource=reader;GridView3.DataBind();conn.Close();} 7.保存、编译、运行程序 在“解决方案资源管理器”窗口中的“DataReaderExample.aspx”文件上右击,在快捷菜单中选择“设为起始页”菜单命令,然后单击工具栏上的“启动”按钮,运行该程序。 注意: Web.config文件的使用 本例在Web.config中创建了一个名为“Northwind”的key,通过引用key字段的值获得连接字符串。 当包含连接字符串的文件很多时,如需更改字符串,只需要更改Web.config的连接字符串,这样,所有引用该key值的文件都不需要单独修改。 四、基于ADO.NET的人员基本信息管理系统 编写一个Web应用程序,实现简单的人员基本信息管理,具有基本的增删查改功能。 该程序要求实现人员基本信息基本的增删查改功能,因此首先可以使用GridView控件实现编辑和删除功能,其次可以单独做添加和查询小模块;根据程序的功能要求以及考虑到用户操作的方便性,应在一个网页上实现图书信息的列表显示、添加、查询、编辑等功能。 1.建立网站 在VisualStudio.NET集成开发环境中新建一个名为“Example”的ASP.NET网站,选择在文件系统E: \asp8中建立,选择C#语言。 2.添加页面控件 选择“Default.aspx”设计视图,在页面中添加下表所示控件。 设计页面如下图所示。 3.定义全局变量 stringStrConnection="server=local;database=test;uid=sa;pwd=;"; SqlConnectionconn;SqlCommandcmd; 4.编辑Page_Load方法 protectedvoidPage_Load(objectsender,EventArgse){ if(! IsPostBack){binddata();}} 5.编辑自定义binddata方法 protectedvoidbinddata(){ conn=newSqlConnection(StrConnection);conn.Open(); Stringsql="select*fromPeople"; SqlDataAdaptermyda=newSqlDataAdapter(sql,conn); DataSetds=newDataSet();myda.Fill(ds,"People"); GridView1.DataSource=ds.Tables["People"].DefaultView; GridView1.DataBind();conn.Close();} 6.编辑GridView1的“删除”按钮处理方法 01: protectedvoidGridView1_RowDeleting(objectsender,GridViewDeleteEventArgse){ 02: conn=newSqlConnection(StrConnection);conn.Open(); 03: Stringid=this.GridView1.DataKeys[e.RowIndex].Value.ToString(); 04: intidt=int.Parse(id); 05: cmd=newSqlCommand();cmd.Connection=conn; 06: cmd.CommandText="deletefromPeoplewherepkID="+idt; 07: cmd.ExecuteNonQuery();conn.Close();binddata();} 7.编辑GridView1的“编辑”按钮处理方法 protectedvoidGridView1_RowEditing(objectsender,GridViewEditEventArgse){ GridView1.EditIndex=e.NewEditIndex;binddata();} 8.编辑GridView1的“更新”按钮处理方法 01: protectedvoidGridView1_RowUpdating(objectsender,GridViewUpdateEvent Argse){ 02: stringid=GridView1.DataKeys[e.RowIndex].Values[0].ToString(); 03: stringpkid=GridView1.Rows[e.RowIndex].Cells[2].Text.ToString(); 04: stringname=((TextBox)GridView1.Rows[e.RowIndex].Cells[3]. Controls[0]).Text.Trim(); 05: stringsex=((TextBox)GridView1.Rows[e.RowIndex].Cells[4]. Controls[0]).Text.Trim(); 06: stringaddress=((TextBox)GridView1.Rows[e.RowIndex].Cells[5]. Controls[0]).Text.Trim(); 07: stringborn=((TextBox)GridView1.Rows[e.RowIndex].Cells[6]. Controls[0]).Text.Trim(); 08: stringSqlStr="updatePeoplesetpkID='"+pkid+"',Name='"+name+ "',Sex='" +sex+"',Address='"+address+"',Born='"+born+"'wherepkID=" +pkid; 09: conn=newSqlConnection(StrConnection);conn.Open(); 10: cmd=newSqlCommand(SqlStr,conn);cmd.ExecuteNonQuery(); 11: cmd.Dispose();conn.Close(); 12: GridView1.EditIndex=-1;binddata();} 9.编辑GridView1的“取消”按钮处理方法 01: protectedvoidGridView1_RowCancelingEdit(objectsender,GridViewCancel EditEventArgse) 02: {GridView1.EditIndex=-1;binddata();} 10.编辑“添加”按钮处理方法和自定义init方法 01: protectedvoidButton2_Click(objectsender,EventArgse){ 02: conn=newSqlConnection(StrConnection);conn.Open(); 03: SqlCommandcmd=newSqlCommand("insertintoPeople(pkID,Name,Sex, Address,Born)values(@pkID,@Name,@Sex,@Address,@Born)",conn); 04: cmd.Parameters.Add("@pkID",SqlDbType.VarChar);cmd.Parameters.Add ("@Name",SqlDbType.VarChar); 05: cmd.Parameters.Add("@Sex",SqlDbType.VarChar);cmd.Parameters.Add ("@Address",SqlDbType.VarChar); 06: cmd.Parameters.Add("@Born",SqlDbType.VarChar);cmd.Parameters ["@pkID"].Value=TBpkID.Text; 07: cmd.Parameters["@Name"].Value=TBName.Text; 08: cmd.Parameters["@Sex"].Value=RBsex.SelectedItem.Text; 09: cmd.Parameters["@Address"].Value=TBAddress.Text;cmd.Parameters ["@Born"].Value=TBBorn.Text; 10: cmd.ExecuteNonQuery(); 11: conn.Close();binddata();init();} 12: protectedvoidinit(){ 13: TBpkID.Text="";TBpkID.Focus();TBName.Text=""; 14: RBsex.SelectedIndex=-1;TBAddress.Text="";TBBorn.Text="";} 11.编辑“查询”按钮处理方法 01: protectedvoidButton3_Click(objectsender,EventArgse){ 02: conn=newSqlConnection(StrConnection);conn.Open(); 03: Stringid=TBpkID1.Text;Stringsql="select*fromPeoplewhere pkID="+id; 04: SqlDataAdaptermyda=newSqlDataAdapter(sql,conn); 05: DataSetds=newDataSet();myda.Fill(ds,"People"); 06: GridView2.DataSource=ds.Tables["People"].DefaultView; 07: GridView2.DataBind();conn.Close();} 12.保存、编译、执行
");Response.Write("
");}}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 举例基于 Connection 的数据库连接程序DOC 举例 基于 数据库连接 程序 DOC