ASP.NET编程:Access 通用数据会见类(asp.net 2.0 c#...
我之所以想学。NET,是因为一直觉的BILLGATES好厉害,希望有一天能去微软,虽然现在还距离遥远,呵呵:)access|asp.net|会见|数据模仿之前搜集的一个典范sqlserver数据会见类,稍做修正。usingSystem;
usingSystem.Data;
usingSystem.Configuration;
usingSystem.Web;
usingSystem.Web.Security;
usingSystem.Web.UI;
usingSystem.Web.UI.WebControls;
usingSystem.Web.UI.WebControls.WebParts;
usingSystem.Web.UI.HtmlControls;
usingSystem.Data.OleDb;
///<summary>
///DataAccess的择要申明
///</summary>
publicclassDataAccess
{
protectedstaticOleDbConnectionconn=newOleDbConnection();
protectedstaticOleDbCommandcomm=newOleDbCommand();
publicDataAccess()
{
//init
}
privatestaticvoidopenConnection()
{
if(conn.State==ConnectionState.Closed)
{
conn.ConnectionString=@"Provider=Microsoft.Jet.OleDb.4.0;DataSource="+ConfigurationManager.AppSettings["myconn"];//web.config文件里设定。
comm.Connection=conn;
try
{
conn.Open();
}
catch(Exceptione)
{thrownewException(e.Message);}
}
}//翻开数据库
privatestaticvoidcloseConnection()
{
if(conn.State==ConnectionState.Open)
{
conn.Close();
conn.Dispose();
comm.Dispose();
}
}//封闭数据库
publicstaticvoidexcuteSql(stringsqlstr)
{
try
{
openConnection();
comm.CommandType=CommandType.Text;
comm.CommandText=sqlstr;
comm.ExecuteNonQuery();
}
catch(Exceptione)
{
thrownewException(e.Message);
}
finally
{closeConnection();}
}//实行sql语句
publicstaticOleDbDataReaderdataReader(stringsqlstr)
{
OleDbDataReaderdr=null;
try
{
openConnection();
comm.CommandText=sqlstr;
comm.CommandType=CommandType.Text;
dr=comm.ExecuteReader(CommandBehavior.CloseConnection);
}
catch
{
try
{
dr.Close();
closeConnection();
}
catch{}
}
returndr;
}//前往指定sql语句的OleDbDataReader工具,利用时请注重封闭这个工具。
publicstaticvoiddataReader(stringsqlstr,refOleDbDataReaderdr)
{
try
{
openConnection();
comm.CommandText=sqlstr;
comm.CommandType=CommandType.Text;
dr=comm.ExecuteReader(CommandBehavior.CloseConnection);
}
catch
{
try
{
if(dr!=null&&!dr.IsClosed)
dr.Close();
}
catch
{
}
finally
{
closeConnection();
}
}
}//前往指定sql语句的OleDbDataReader工具,利用时请注重封闭
publicstaticDataSetdataSet(stringsqlstr)
{
DataSetds=newDataSet();
OleDbDataAdapterda=newOleDbDataAdapter();
try
{
openConnection();
comm.CommandType=CommandType.Text;
comm.CommandText=sqlstr;
da.SelectCommand=comm;
da.Fill(ds);
}
catch(Exceptione)
{
thrownewException(e.Message);
}
finally
{
closeConnection();
}
returnds;
}//前往指定sql语句的dataset
publicstaticvoiddataSet(stringsqlstr,refDataSetds)
{
OleDbDataAdapterda=newOleDbDataAdapter();
try
{
openConnection();
comm.CommandType=CommandType.Text;
comm.CommandText=sqlstr;
da.SelectCommand=comm;
da.Fill(ds);
}
catch(Exceptione)
{
thrownewException(e.Message);
}
finally
{
closeConnection();
}
}//前往指定sql语句的dataset
publicstaticDataTabledataTable(stringsqlstr)
{
DataTabledt=newDataTable();
OleDbDataAdapterda=newOleDbDataAdapter();
try
{
openConnection();
comm.CommandType=CommandType.Text;
comm.CommandText=sqlstr;
da.SelectCommand=comm;
da.Fill(dt);
}
catch(Exceptione)
{
thrownewException(e.Message);
}
finally
{
closeConnection();
}
returndt;
}//前往指定sql语句的datatable
publicstaticvoiddataTable(stringsqlstr,refDataTabledt)
{
OleDbDataAdapterda=newOleDbDataAdapter();
try
{
openConnection();
comm.CommandType=CommandType.Text;
comm.CommandText=sqlstr;
da.SelectCommand=comm;
da.Fill(dt);
}
catch(Exceptione)
{
thrownewException(e.Message);
}
finally
{
closeConnection();
}
}//前往指定sql语句的datatable
publicstaticDataViewdataView(stringsqlstr)
{
OleDbDataAdapterda=newOleDbDataAdapter();
DataViewdv=newDataView();
DataSetds=newDataSet();
try
{
openConnection();
comm.CommandType=CommandType.Text;
comm.CommandText=sqlstr;
da.SelectCommand=comm;
da.Fill(ds);
dv=ds.Tables.DefaultView;
}
catch(Exceptione)
{
thrownewException(e.Message);
}
finally
{
closeConnection();
}
returndv;
}
//前往指定sql语句的dataview
}
在VC.net的版本上,为了让C++运行在.NETFramework中,微软为C++引进了托管,就是托管C++(ManagedC++),这个根本就没有流行起来,自托管C++产生以后就没有收到过好评。 虽然在形式上JSP和ASP或PHP看上去很相似——都可以被内嵌在HTML代码中。但是,它的执行方式和ASP或PHP完全不同。在JSP被执行的时候,JSP文件被JSP解释器(JSPParser)转换成Servlet代码,然后Servlet代码被Java编译器编译成.class字节文件,这样就由生成的Servlet来对客户端应答。所以,JSP可以看做是Servlet的脚本语言(ScriptLanguage)版。 Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。 在调试JSP代码时,如果程序出错,JSP服务器会返回出错信息,并在浏览器中显示。这时,由于JSP是先被转换成Servlet后再运行的,所以,浏览器中所显示的代码出错的行数并不是JSP源代码的行数。 如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案. ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。 由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。 通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。 大哥拜托,Java在95年就出来了,微软垄断个妹啊,服务器市场微软完全是后后来者,当年都是Unix的市场,现在被WindowsServer和Linux抢下大片,包括数据库也一样。
页:
[1]