ASP.NET教程之ACCESS数据库会见组件(二)
有理由相信是能提供更出色的性能。很多平台无法支持复杂的编译器,因此需要二次编译来减少本地编译器的复杂度。当然可能做不到java编译器那么简易。access|会见|数据|数据库ACCESS数据库会见组件(二)ACCESS_Table.csusingSystem;
namespaceXLang.VideoOnline.Framework.Database.Access
{
///<summary>
///SummarydescriptionforACCESS_DataTable.
///</summary>
publicclassDataTable:System.Data.DataTable
{
privatestring_tableName;
privatestring_primaryKey;
publicstringName
{
get{return_tableName;}
set{_tableName=value;}
}
publicstringPrimaryKey
{
get{return_primaryKey;}
set{_primaryKey=value;}
}
publicDataTable()
{
}
publicDataTable(stringtableName)
{
_tableName=tableName;
}
publicstringCreateCommand(Database.Access.DataRow[]rows)
{
stringtemp="CREATETABLE"+_tableName+"(";
for(inti=0;i<rows.GetLength(0);i++)
{
temp+="["+rows.Name+"]"+rows.Type+(rows.IsNull?",":"notnull,");
}
temp+="CONSTRAINTPRIMARYKEY(["+rows.Name+"]))";
_primaryKey=rows.Name;
returntemp;
}
publicstringInsertCommand(Database.Access.DataRow[]rows)
{
stringtemp="";
temp="INSERTINTO"+_tableName+"(";
for(inti=0;i<rows.GetLength(0);i++)
{
temp+="["+rows.Name+"]"+",";
}
temp=temp.Substring(0,temp.Length-1);
temp+=")VALUES(";
for(inti=0;i<rows.GetLength(0);i++)
{
if(rows.Type.Equals("boolean"))
temp+=((rows.Value.ToString().ToUpper().Equals("YES"))?"yes":"no")+",";
elseif(rows.Type.StartsWith("string")||rows.Type.Equals("memo")||
rows.Type.Equals("text")||rows.Type.StartsWith("text"))
temp+=""+rows.Value+",";
elseif(rows.Type.Equals("date"))
temp+="#"+rows.Value+"#,";
else
temp+=rows.Value+",";
}
temp=temp.Substring(0,temp.Length-1);
temp+=")";
returntemp;
}
publicstringDeleteCommand()
{
return"DROPTABLE"+_tableName;
}
publicstringDeleteCommand(stringconditions)
{
return"DELETE*FROM"+_tableName+"WHERE"+conditions;
}
publicstringUpdateCommand(Database.Access.DataRow[]rows,stringconditions)
{
stringtemp="UPDATE"+_tableName+"SET";
temp+=ProsessDifferentDataType(rows);
temp+="WHERE"+conditions;
returntemp;
}
publicstringSelectCommand()
{
return"SELECT*FROM"+_tableName;
}
publicstringSelectCommand(stringconditions)
{
return"SELECT*FROM"+_tableName+"WHERE"+conditions;
}
publicstringSelectCommand(Database.Access.DataRow[]rows,stringconditions)
{
stringtemp="SELECT";
for(inti=0;i<rows.GetLength(0);i++)
{
temp+="["+rows.Name+"],";
}
temp=temp.Substring(0,temp.Length-1);
temp+="FROM"+_tableName+"WHERE"+conditions;
returntemp;
}
publicstringJoinCommand(Database.Access.DataRow[]rows,stringcondition,paramsstring[]tableNames)
{
stringtemp="SELECT";
for(inti=0;i<rows.GetLength(0);i++)
{
temp+="["+rows.Name+"],";
}
temp=temp.Substring(0,temp.Length-1);
//temp+="FROM"+_tableName+"WHERE"+conditions;
temp+="FROM";
foreach(stringtableintableNames)
temp+=table+",";
temp=temp.Substring(0,temp.Length-1);
if(condition!=null)
temp+="WHERE"+condition;
returntemp;
}
privatestringProsessDifferentDataType(Database.Access.DataRow[]rows)
{
stringtemp="";
for(inti=0;i<rows.GetLength(0);i++)
{
if(rows.Type.Equals("boolean"))
temp+="["+rows.Name+"]="+
((rows.Value.ToString().ToUpper().Equals("YES"))?"yes":"no")
+",";
elseif(rows.Type.StartsWith("string")||rows.Type.Equals("memo")||
rows.Type.Equals("text")||rows.Type.StartsWith("text"))
temp+="["+rows.Name+"]="+rows.Value+",";
elseif(rows.Type.Equals("date"))
temp+="["+rows.Name+"]=#"+rows.Value+"#,";
else
temp+="["+rows.Name+"]="+rows.Value+",";
}
temp=temp.Substring(0,temp.Length-1);
returntemp;
}
}
}
也许C#刚上市的时候有些抄袭Java吧,但自从C#2.0上市之后,整个局面就扭转乾坤了,不但Java在模仿C#,而且他从来都没能跟得上C#的脚步。 现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。 如今主流的Web服务器软件主要由IIS或Apache组成。IIS支持ASP且只能运行在Windows平台下,Apache支持PHP,CGI,JSP且可运行于多种平台,虽然Apache是世界使用排名第一的Web服务器平台。 主流网站开发语言之CGI:CGI就是公共网关接口(CommonGatewayInterface)的缩写。它是最早被用来建立动态网站的后台技术。这种技术可以使用各种语言来编写后台程序,例如C,C++,Java,Pascal等。 是目前ASP在UNIX/Linux上的应用可以说几乎为0)。所以平台的局限性和ASP自身的安全性限制了ASP的广泛应用。 但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。 JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。 我觉得什么语言,精通就好,你要做的就是比其他80%的人都厉害,你就能得到只有20%的人才能得到的高薪。
页:
[1]