Default.aspx
View Code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head id="Head1" runat="server"> <title>无标题页</title> </head> <center> <h2><font face="宋体">访问数据库的通用代码示例</font> </h2> </center> <body> <form id="form1" runat="server"> <div> <font face="宋体"> <p align="center">1.请输入相应数据库连接字符串</p> <p align="center"> <asp:TextBox id="ConnStrTextBox" runat="server" Width="600"></asp:TextBox> </p> <p align="center">2.请输入相应SQL查询命令语句</p> <p align="center"> <asp:TextBox id="SqlTextTextBox" runat="server" Width="600"></asp:TextBox> </p> <p align="center">3.请选择所连接的数据库类型</p> <p align="center"> <asp:DropDownList ID="DBDropDownList" runat="server" Width="204px"> <asp:ListItem Selected="True">Access</asp:ListItem> <asp:ListItem>SQLServer</asp:ListItem> <asp:ListItem>Oracle</asp:ListItem> <asp:ListItem>DB2</asp:ListItem> </asp:DropDownList> </p> <p align="center"> <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="通用数据库连接代码测试" /> </p> <p align="center"> <asp:Label id="lblMessage" runat="server" Font-Bold="True" ForeColor="Red"></asp:Label> </p> </form> </font> </div> </body> </html>
Default.aspx.cs
View Code
using System; using System.Configuration; using System.Data; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.HtmlControls; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Xml.Linq; public partial class _Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //通用数据库连接代码,这里以连接Access数据库为测试示例 if (!IsPostBack) { ConnStrTextBox.Text = "Provider=Microsoft.Jet.OLEDB.4.0; Data source=" + Server.MapPath("User.mdb"); SqlTextTextBox.Text = "Select COUNT(*) From Info Where Name='小顾'"; lblMessage.Text = ""; } } protected void Button1_Click(object sender, EventArgs e) { //定义数据库连接字符串 string MyConnectionString = this.ConnStrTextBox.Text; //定义查询操作的SQL语句 string MySQL = this.SqlTextTextBox.Text; //定义所要连接的数据库类型为Access string MyType = this.DBDropDownList.SelectedValue; System.Data.IDbConnection MyConnection = null; // 根据数据库类型,创建相应的 Connection 对象 switch (MyType) { //选择的数据库类型为“SQLServer”,创建SqlConnection类数据库连接对象 case "SQLServer": MyConnection = new System.Data.SqlClient.SqlConnection(MyConnectionString); break; case "Oracle": MyConnection = new System.Data.OracleClient.OracleConnection(MyConnectionString); break; //选择的数据库类型为“Access”,创建OleDbConnection类数据库连接对象 case "Access": MyConnection = new System.Data.OleDb.OleDbConnection(MyConnectionString); break; //选择的数据库类型为“DB2”,创建OleDbConnection类数据库连接对象 case "DB2": MyConnection = new System.Data.Odbc.OdbcConnection(MyConnectionString); break; default: MyConnection = new System.Data.OleDb.OleDbConnection(MyConnectionString); break; } Execute(MyConnection, MySQL); } public void Execute(System.Data.IDbConnection MyConnection, string strquery) { //使用 CreateCommand() 方法生成 Command 对象 System.Data.IDbCommand MyCommand = MyConnection.CreateCommand(); //执行定义的SQL查询语句 MyCommand.CommandText = strquery; try { //打开数据库连接 MyConnection.Open(); //定义查询的结果信息 String MyInfo = "测试连接成功!符合查询要求的记录共有:" + MyCommand.ExecuteScalar().ToString() + "条!"; //输出查询结果信息 lblMessage.Text = MyInfo; } catch (Exception ex) { //输出错误异常 Response.Write(ex.ToString()); } finally { //关闭数据库连接 MyConnection.Close(); } } }