View Code
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<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>
asp.net页面
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(); } } }
本段程序的核心代码为
//选择的数据库类型为“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;
如果你要其它连接我们还可以增加一些连接代码哦。 |
请发表评论