若相依 发表于 2015-1-16 22:31:11

ASP.NET网页设计第二部分,BETA2操纵ACCESS数据库

我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。access|数据|数据库伴侣们好,总算又偶然间了,弄了两天,头都年夜了!不外,真的是,。NET的器材太多了,几乎有一种头昏眼花的感到,看来仍是必要静下心来渐渐测试!我的进修概念就是多写程序,多实习,你能够不往影象那些在材料或匡助上能查到的器材,(我就没有往记,即便是名字空间怎样写我都是看匡助),但必定要了解了,而怎样了解,最间接的办法就是经由过程程序来把那些器材间接展现在长远!

好了,未几说了,接着前次的器材,我们持续来看看,怎样在。NET中操纵数据库(数据库接纳ACCESS2000,至于SQL,我在今后无机会了在说吧,实在假如懂了,ACCESS的话,得当变变就能够操纵SQL数据库了!)

前次说了怎样在ADO。NET中实行“SELECT”语句,此次我们看看,怎样实行“DELETE、UPDATE、INSERT”等语句。

我们此次一样经由过程例子来看,个中我们用到了System.Data.OleDb.OleDbCommand类,实在,我们在后面实行SELECT的时分也用到了!

上面我写出我的程序:

//修正留言本中特定的数据
publicBooleanUpdateNote(Notebooknote)
{
Booleantempvalue=false;
stringsqlstr="";//事先在这里界说,是为了在呈现非常的时分看看我的SQL语句是不是准确
try
{
//用到了我后面写的谁人失掉数据库毗连的函数
OleDbConnectionconn=getConn();//getConn():失掉毗连工具,
conn.Open();

//断定我们必要实行的SQL语句,本处是UPDATE语句!
sqlstr="UPDATEnotesSET";
sqlstr+="title="+note.title+",";
sqlstr+="content="+DealString(note.content)+",";
sqlstr+="author="+note.author+",";
sqlstr+="email="+note.email+",";
sqlstr+="http="+note.http+"";
//sqlstr+="pic="+note.pic+"";
sqlstr+="whereid="+note.id;

//界说command工具,并实行响应的SQL语句
OleDbCommandmyCommand=newOleDbCommand(sqlstr,conn);
myCommand.ExecuteNonQuery();//实行SELECT的时分我们是用的ExecuteReader()
conn.Close();


//假设实行乐成,则,前往TRUE,不然,前往FALSE
tempvalue=true;
return(tempvalue);
}
catch(Exceptione)
{
throw(newException("数据库更新堕落:"+sqlstr+""+e.Message));
}
}

这个例子是关于特定ID好的纪录举行UPDATE操纵,详细注释我都写在了程序中,个中的与数据库有关的语句是try外部的那些!

实在,我们一样能够经由过程下面的那种形式实行INSERT、DELETE操纵,上面我把我的程序列到上面!

/*删除特定纪录,经由过程string范例的ID删除字段,在我的程序中,我把这个函数重载了,如许我们就能够经由过程INT范例的ID参数来删除特定的字段了*/
publicBooleanDelNote(stringdelid)
{
Booleantempvalue=false;
stringsqlstr="";
//毗连数据库
try
{
OleDbConnectionconn=getConn();//getConn():失掉毗连工具
conn.Open();

sqlstr="delete*fromnoteswhereid="+delid;

//界说command工具,并实行响应的SQL语句
OleDbCommandmyCommand=newOleDbCommand(sqlstr,conn);
myCommand.ExecuteNonQuery();
conn.Close();


//假设实行乐成,则,前往TRUE,不然,前往FALSE
tempvalue=true;
return(tempvalue);
}
catch(Exceptione)
{
throw(newException("数据库更新堕落:"+sqlstr+""+e.Message));
}
}

仔细的伴侣们应当能看到,实在这个程序和下面的比拟,只是哪一个SQL语句分歧罢了,其他的都基础一样的!一样的,我们想在数据库中拔出新的纪录的时分也能够用如许的体例,程序以下:
//向留言本中增加数据
publicBooleanAddNote(Notebooknote)
{

Booleantempvalue=false;//界说前往值,并设置初值
//上面把note中的数据增加到数据库中!
try{

OleDbConnectionconn=getConn();//getConn():失掉毗连工具
conn.Open();

//设置SQL语句
stringinsertstr="INSERTINTOnotes(title,content,author,email,http,pic,hits,posttime)VALUES(";
insertstr+=note.title+",";
insertstr+=DealString(note.content)+",";
insertstr+=note.author+",";
insertstr+=note.email+",";
insertstr+=note.http+",";
insertstr+=note.pic+",";
insertstr+=note.hits+",";
insertstr+=note.posttime+")";

OleDbCommandinsertcmd=newOleDbCommand(insertstr,conn);
insertcmd.ExecuteNonQuery();

conn.Close();
tempvalue=true;
}
catch(Exceptione)
{
throw(newException("数据库堕落:"+e.Message));
}
return(tempvalue);
}

//处置数据,在把数据存到数据库前,先屏障那些伤害字符!
publicstringDealString(stringstr)
{
str=str.Replace("<","<");
str=str.Replace(">",">");
str=str.Replace("","<br>");
str=str.Replace("","’");
str=str.Replace("x0020","");

return(str);
}

//恢单数据:把数据库中的数据,复原成未处置前的模样
publicstringUnDealString(stringstr)
{
str=str.Replace("<","<");
str=str.Replace(">",">");
str=str.Replace("<br>","");
str=str.Replace("’","");
str=str.Replace("","x0020");

return(str);
}

我同时列出了两个函数UnDealString()和DealString(),他们是对与输出内容做一些事前的处置和复原事情的!

这几个程序由于都对照复杂,以是我就未几说了!
实在,我如许的对数据库操纵也只是ADO。NET中的一部分,而经由过程DataSet来操纵我如今还没有细心研讨过,以是我也不克不及写出甚么器材来,今后的这几天我就筹办好悦目看谁人器材了,到时分,我还会把我的感觉写出来和人人分享!

在增补一下,我后面用到的程序都是我在写一个留言本的测试程序时分用到的!假如有伴侣有乐趣的话,我将贴出我的全体进修代码!

好了,我要入手下手我的事变了!下次再会!

兄弟们,想来你们都看过了昨天的比赛了。我现在的痛苦状跟当时应该差不多。希望本版.net老师不吝赐教,为小弟这一批迷途的羊羔指一条阳光之道!您也知道:学习技术如果只有一个人摸索,那是一件多么痛苦的事情!还有,如果万辛能得名师或长者指点,那又是多么一件幸福和快乐的事情!

若天明 发表于 2015-1-19 16:02:09

通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。

山那边是海 发表于 2015-1-25 15:01:23

逐步缩小出错代码段的范围,最终确定错误代码的位置。

小妖女 发表于 2015-2-2 22:33:19

弱类型造成潜在的出错可能:尽管弱数据类型的编程语言使用起来回方便一些,但相对于它所造成的出错几率是远远得不偿失的。

再见西城 发表于 2015-2-8 16:24:32

能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写。

若相依 发表于 2015-2-25 20:45:03

asp.net空间的支持有:ASP.NET1.1/虚拟目录/MicrosoftFrontPage2000扩展/CDONTS,同时他的网站上也提供了Asp.net的使用详解和程序源代码,相信对使用ASP.NET编程的程序员来说会非常有用哦!

简单生活 发表于 2015-3-8 03:40:22

以上是语言本身的弱点,在功能方面ASP同样存在问题,第一是功能太弱,一些底层操作只能通过组件来完成,在这点上是远远比不上PHP/JSP,其次就是缺乏完善的纠错/调试功能,这点上ASP/PHP/JSP差不多。

老尸 发表于 2015-3-15 21:03:10

由于CGI程序每响应一个客户就会打开一个新的进程,所以,当有多个用户同时进行CGI请求的时候,服务器就会打开多个进程,这样就加重了服务器的负担,使服务器的执行效率变得越来越低下。

蒙在股里 发表于 2015-3-22 04:11:17

众所周知,Windows以易用而出名,也因此占据不少的服务器市场。
页: [1]
查看完整版本: ASP.NET网页设计第二部分,BETA2操纵ACCESS数据库