北大青鸟 第七章 ADOnet查询和操作数据库
- 格式:ppt
- 大小:3.11 MB
- 文档页数:34
如何使用轻松操纵数据库如何使用轻松操纵数据库如何使用轻松操纵数据库提供了connection来连接数据库,同时也提供了command对象来查询数据库。
同connection对象一样,command也有两种:oledbcommand和sqlcommand.其区别同connection对象。
要操纵数据库,必须先使用connection来连接到数据库,再创建一个command来查询。
有几种创建方式,例:sqlcommand cmd;stringstrcon="server=localhost;database=northwind;trusted_conne ction=yes;";string strqry="select * from categories";sqlconnection con=new sqlconnection(strcon);con.open();cmd=con.createcommand(); //这里使用用connection对象的createcommand方法来创建一个command对象。
mandtext=strqry;// sqldatareader reader=cmd.executereader();cmd=new sqlcommand(); //直接使用new 关键字来创建mandtext=strqry;cmd.connection=con; //设置与数据库的连接cmd=new sqlcommand(strqry,con); //直接在new的时候带两个参数来创建执行方式:(主要有这么几种,cmd.executereader();cmd.executenonquery();cmd.executescal ar();cmd.executexmlreader();)1,executereader();返回一个sqldatareader对象或oledbdatareader对象,这个看你的程序的需要去做。
实验报告题目:数据库操作技术院系:计算机科学与工程学院【实验题目】数据库操作技术【实验目的】1.掌握服务器验证控件的使用。
2.掌握对象的使用方法。
3.初步熟悉数据绑定控件GridView控件的使用方法。
【实验内容】使用DataReader对象设计一个用户登陆身份验证页面,页面打开时用户输入了正确的用户名和密码后,程序根据用户级别跳转到不同的页面。
建立Microsoft SQL Sever数据库manager.mdb的设计,并在其中创建存放用户信息的Admin表。
表中user字段表示用户名,pwd字段表示密码,level 字段表示用户级别,0表示管理员,1表示普通用户(游客)。
程序设计步骤:(1)设计Web页面Web页面的设计并不复杂,使用列表的形式,将Label和TextBox嵌入其中,如图4-1所示。
图 4-1 Web页面的设计(2)设置对象属性此处需要注意的是,密码部分需要做密文处理,并且不可进行复制粘贴。
(3)编写事件代码页面设计完成后,需要对登录按钮编写相应的时间。
其中包括与数据库的连接,获取输入的用户名和密码,之后与数据库进行匹配,并将匹配的结果返回给用户,同时程序根据用户级别跳转到不同的页面。
程序运行结果如图4-2所示。
图 4-2 程序运行结果【实验代码】Default:<%@Page Language="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="_Default" %><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title></head><body><form id="form1"runat="server"><div><table border="1"><tr><td colspan="2"style="text-align: center"><strong><span style="font-size: 14pt">登 录</span></strong></td></tr><tr><td style="width: 100px; text-align: center">用户名</td><td style="width: 100px"><asp:TextBox ID="txtUsername"runat="server"Width="146px"></asp:TextBox></td></tr><tr><td style="width: 100px; text-align: center">密 码</td><td style="width: 100px"><asp:TextBox ID="txtPassword"runat="server"TextMode="Password" Width="145px"></asp:TextBox></td></tr><tr><td style="width: 100px"> </td><td style="width: 100px"><asp:Button ID="btnLogin"runat="server"OnClick="btnLogin_Click" Text="登录"/></td></tr></table></div></form></body></html>using System;using System.Data;using System.Configuration;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Data.OleDb;public partial class_Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){this.Title = "Reader对象应用示例";txtUsername.Focus();}protected void btnLogin_Click(object sender, EventArgs e){OleDbConnection conn = new OleDbConnection();conn.ConnectionString = "Provider=Microsoft.Jet.OleDb.4.0;" + "Data Source=" + Server.MapPath("App_Data/manager.mdb");conn.Open();string strSQL = "select * from Admin";OleDbCommand com = new OleDbCommand(strSQL, conn);OleDbDataReader dr = com.ExecuteReader();string strUsername="", strPassword="",strLevel="";while (dr.Read()){if (txtUsername.Text == dr["user"].ToString() && txtPassword.Text ==dr["pwd"].ToString()){strUsername = dr["user"].ToString();strPassword=dr["pwd"].ToString();strLevel = dr["level"].ToString();break;}}dr.Close();conn.Close();if (strUsername == ""){Response.Write("<script language=javascript>alert('用户名或密码错!');</script>");return;}if (strLevel == "0"){Session["pass"] = "admin";Response.Redirect("manager.aspx");}else{Session["pass"] = "guest";Response.Redirect("guest.aspx");}}}Guest:<%@Page Language="C#"AutoEventWireup="true"CodeFile="guest.aspx.cs"Inherits="guest"%><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title></head><body><form id="form1"runat="server"></form></body></html>using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class guest : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){this.Title = "游客页面";string strPass = (string)Session["pass"];if (strPass != "guest"){Response.Redirect("default.aspx");}Response.Write("这是游客页面");}}Manager:<%@Page Language="C#"AutoEventWireup="true"CodeFile="manager.aspx.cs" Inherits="manager" %><!DOCTYPE html PUBLIC"-//W3C//DTD XHTML 1.0 Transitional//EN""/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="/1999/xhtml"><head runat="server"><title>无标题页</title></head><body><form id="form1"runat="server"></form></body></html>using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class manager : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){this.Title = "管理页面";string strPass = (string)Session["pass"];if (strPass != "admin"){Response.Write("<script language=javascript>alert('请先登录!');</script>"); Response.Redirect("default.aspx");}Response.Write("这是管理员页面");}}【实验结果】【实验心得】通过本次实验,我的的掌握更加深入,我基本掌握的服务器控件的应用,也基本掌握了GridView控件,熟悉了如何设置这个控件的基本属性,同时也加强了对其他控件的掌握。
使用ADO_NET访问数据库连接对象(Connection)用于建立与数据库的连接。
使用时需要提供数据库的连接字符串,连接字符串包含了数据库的类型、服务器地址、用户名、密码等信息。
下面是一个连接字符串的示例:```Server=127.0.0.1;Database=myDatabase;UserID=myUsername;Password=myPassword;```可以使用 SqlConnection 类来创建连接对象,并通过 Open 方法打开连接,通过 Close 方法关闭连接。
连接对象还提供了一些其他的属性和方法,如 ConnectionString 属性用于设置连接字符串,State 属性用于获取连接的状态,等等。
数据读取器对象(DataReader)用于按顺序读取查询结果中的数据。
可以使用 SqlDataReader 类创建数据读取器。
在使用数据读取器读取数据时,需要使用 Read 方法获取下一条记录,并使用索引或列名访问具体的数据值。
读取完数据后需要调用 Close 方法关闭数据读取器。
首先,创建一个名为 Student 的数据库,包含一个名为 Students 的表,表中包含三个字段:ID、Name 和 Age。
```sqlCREATE DATABASE Student;USE Student;CREATE TABLE StudentsIDINTPRIMARYKEY,Name NVARCHAR(50),Age INT```然后,创建一个 C# 控制台应用程序,添加对System.Data.SqlClient 的引用。
```csharpusing System;using System.Data;using System.Data.SqlClient;namespace StudentManagementclass Programstatic void Main(string[] args)string connectionString ="Server=127.0.0.1;Database=Student;UserID=myUsername;Password=myPassword;";using (SqlConnection connection = new SqlConnection(connectionString))connection.Open(;//插入数据Console.WriteLine("插入数据成功");}//查询数据while (reader.Read()int id = reader.GetInt32(0);string name = reader.GetString(1);int age = reader.GetInt32(2);Console.WriteLine($"ID: {id}, Name: {name}, Age: {age}"); }}//更新数据Console.WriteLine("更新数据成功");}//删除数据Console.WriteLine("删除数据成功");}connection.Close(;}}}```编译运行该应用程序,将会得到以下输出:```插入数据成功ID: 1, Name: 张三, Age: 20更新数据成功删除数据成功```。
ADO数据库操作在ADO(ActiveX Data Objects)中,可以使用各种方法和属性来执行数据库操作。
ADO是一种在Microsoft平台上用于访问数据的技术,可以用于连接到各种数据库系统,包括Microsoft Access、SQL Server、Oracle等。
首先,要使用ADO进行数据库操作,我们需要建立与数据库的连接。
可以使用ADO的Connection对象来实现。
例如,对于Microsoft Access 数据库,可以使用以下代码来建立连接:```Dim conn As New ADODB.Connectionconn.ConnectionString ="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\path\to\database.mdb"conn.Open```在上面的代码中,我们创建了一个Connection对象,并设置了连接字符串来指定数据库的路径。
然后,我们调用Open方法来打开连接。
建立连接后,就可以执行各种数据库操作了。
以下是一些常见的数据库操作方法:1.执行SQL查询:```Dim rs As New ADODB.Recordsetrs.Open "SELECT * FROM table", conn```上面的代码中,我们创建了一个Recordset对象,并使用Open方法执行了一个SQL查询。
2.插入记录:```conn.Execute "INSERT INTO table (field1, field2) VALUES ('value1', 'value2')"```上面的代码中,我们使用Execute方法执行了一个插入记录的SQL语句。
3.更新记录:```conn.Execute "UPDATE table SET field1 = 'new value' WHERE condition"```上面的代码中,我们使用Execute方法执行了一个更新记录的SQL语句。
连接数据库的基本步骤在中,连接数据库是开发应用程序的基础。
下面是一般的步骤,可以帮助您建立应用程序与数据库的连接。
**步骤一:设置数据库连接**1. 首先,您需要选择一个合适的数据库。
常见的选择包括SQL Server、Access、MySQL等。
2. 在项目中添加对所选数据库提供程序的引用。
通常,这可以通过右键点击项目并选择“添加引用”来完成。
3. 根据您的数据库提供程序文档设置连接字符串。
连接字符串包含了数据库的位置、用户名和密码等信息。
**步骤二:创建数据库连接对象**1. 使用提供的连接字符串创建一个`SqlConnection`对象。
这个对象将用于在应用程序和数据库之间建立通信。
```csharpSqlConnection connection = newSqlConnection(connectionString);```**步骤三:打开数据库连接**1. 打开数据库连接是一个重要的步骤,因为它允许应用程序读写数据库中的数据。
```csharpconnection.Open();```**步骤四:执行SQL查询**1. 使用`SqlCommand`对象来执行SQL查询。
这个对象包含了要执行的SQL语句,以及任何必要的参数。
```csharpSqlCommand command = new SqlCommand("SELECT * FROMtable_name", connection);```**步骤五:读取数据**1. 使用`SqlDataReader`对象来读取查询结果。
这个对象将逐行读取查询结果,并提供每一行的数据。
```csharpSqlDataReader reader = command.ExecuteReader();while (reader.Read()) {// 处理每一行的数据}```**步骤六:关闭数据库连接**1. 关闭数据库连接是一个好习惯,以确保释放资源并关闭与数据库的通信。