返回首页

使用AJAX来简单地读取和写入数据库:简介
AJAX,JavaScript和XML异步调用的组合,是一个很酷的技术,可以用来完成众多花哨的任务,如拖放页面上的项目,通过使用鼠标指针的大图像导航,并创建聊天客房。但是,我们完成一项任务简单,常常为读取和写入数据库平淡?如果是使用AJAX实现?在许多情况下,答案是肯定的。
在您的应用程序中的每一页中使用Ajax之前,你需要了解什么AJAX是好的,什么时候使用它。您也必须知道使用AJAX时,以避免它的缺点。这里是一个一个关于这个主题的大文章链接:肖恩 - 英曼。为什么使用AJAX从数据库中读取?
在ASP.NET,一个数据库查询将需要回发。有很多情况下,这是不是一种选择。我曾回发是非常昂贵的带宽和用户体验方面的一个图像处理项目。数据库读取和写入发生整个页面回发到服务器,而不会发布。在这种情况下,使用AJAX的好处远远超过了成本。组件的quot; AJAXedquot; Web应用程序
使用AJAX的Web应用程序有三个组件:AjaxEngine(被遗忘的努力的人)
这是一个没有用户界面的ASPX页面。它执行所有的服务器端功能,如数据库查询和更新。AjaxClient(中间人)
这是一个JavaScript文件,使异步调用AjaxEngine呈现响应返回到AjaxUI。AjaxUI(性感模特)
本页面什么也不做,但得到所有的功劳。它执行一个按钮被点击时从AjaxClient呼叫的功能,如简单的JavaScript任务。截图
这个例子使用的Microsoft SQL Server的Norhtwind数据库检索和更新员工数据,使用AJAX。输入1到9之间的雇员ID,并单击"查找"来检索数据。在文本框的更改,并点击更新员工更新数据库中的记录。
{S0}
当quot;更新Employeequot;按钮被点击,AJAX是用来更新在北风的雇员记录和警报消息显示。
{S1}一些代码如何?这应该请大家。AjaxUI
我们只需要处理的查找和更新"按钮的onclick事件。以下是代码:查找按钮

回答

评论会员:游客 时间:2011/12/07
这样一个伟大的文章但是有一个问题当网页加载,我们插入雇员ID,点击查找按钮,它会返回正确的数据。但是,如果我们更新纪录成功更新的消息显示。但是当我再次找到相同的记录,显示unupdated记录。如果我们重新启动应用程序,它显示了更新的记录。所以请帮助我。
sravanthi chowdary
评论会员:游客 时间:2011/12/07
本文是有用的,以实现Ajax,我们都遵循相同的thing.The插入和updation工程与这个好,但同时从数据库中获取数据,我们正面临着奇怪的问题,我们不能调试。问题是这样的,命名在AjaxClient.jsSetEmployeeLabels(XMLHTTP.responseXML.documentElement)函数(浏览器)被调用,但在功能SetEmployeeLabels(ClientNode)的clientNode参数是null.Canü请建议我如何解决这个issue.Any帮助将不胜感激方面的SravanthiChowdary
。Lalit_Programmer
评论会员:游客 时间:2011/12/07
这是好文章。我正在寻找如何从数据库使用Ajax交易..我是厌倦了单一控制各地寻找..这里的路径是一样的,在这里我们可以称之为落后页代码编写功能DFGDFGDFGDFDFGDFDFDFGDF
Hemangajit
评论会员:游客 时间:2011/12/07
从数据库中检索数据正在完善。但有一个问题是在网页中显示的数据XMLHTTP.responseXML.documentElement返回空值。当我看到的XMLHTTP.responseText价值,我可以看到所形成的服务器代码的XML文档。有没有这个问题的线索。请帮助!
bluland
评论会员:游客 时间:2011/12/07
Wonderfull文章ID想知道受什么DLL呢?更IVE试图在VB中转换,但它doesnt工作!这或许是它仅适用于C#?或犯其在受DLL?{S2}至于文森佐
大汉阿卜杜
评论会员:游客 时间:2011/12/07
感谢我意识到,我应该写在那篇文章中直ADO.NET代码。DataAccessHelper是一个名字,我给微软DAAB(​​数据访问应用程序块),这是一个静态功能,帮助您轻松地执行ADO.NET功能的集合。从这里你可以下载源代码imgsrc=http://www.orcode.com/upimg/2011_12_07_04_16_45_2.gif虽然链接会给你一个SQL与SQLServer使用的帮手,DataAccessHelper有甲骨文,OLEDB以及ODBC数据源的帮手。代码很简单,所以它转换到VB不应该成为问题。我不记得使用任何C#特定功能。如果您有任何错误消息,你不明白,也许你可以张贴在这里。祝你好运!
bluland
评论会员:游客 时间:2011/12/07
我还没有任何错误讯息,但结果始终是"无法找到员工",分findemployee发送的XML回复于但JavaScript端的参数ClientNode是null的功能SetEmployeeLabels(ClientNode),其奇怪!与CCOZ#你提出了一些测试?至于,文森佐
bluland
评论会员:游客 时间:2011/12/07
IVE发现错误,它是whene我建立了头XML,C#中System.Text.StringBuilderSB=新System.Text.StringBuilder("");{BR}VB的昏暗的SB作为StringBuilder的新的StringBuilder(""){BR}没有\{S3}thks文森佐{S2}
manjots
评论会员:游客 时间:2011/12/07
我试图找到一个可以解释过去几天从SQLServer的数据检索和更新的Ajax技术的文章。本文涵盖的主题,我在细节和一个很好的例子。感谢{五}
巴拉特Gajjar
评论会员:游客 时间:2011/12/07
最好的文章,直至现在,我从未看到纯AJAXimgsrc=http://www.orcode.com/upimg/2011_12_07_04_16_45_6.gif
sonu22sonu
评论会员:游客 时间:2011/12/07
这实在是一个很好的文章,谢谢,进行{BR}巴拉特Gajjar
大汉阿卜杜
评论会员:游客 时间:2011/12/07
我可以不运行本教程.....下面的错误是高达:"错误1这是一个错误使用注册为allowDefinition='MachineToApplication'的应用程序级别之外的部分,此错误可能是由造成的不作为配置IIS中的应用C的一个虚拟目录:\Inetpub\wwwroot的\。AjaxReadWrite\AjaxDBReadWrite\Web.config中的"请帮助我,我该如何运行此应用程序
Herre Kuijpers
评论会员:游客 时间:2011/12/07
喜我认为您使用的是VisualStudio2005中,要做到这一点。该项目只在VisualStudio2003进行了测试。为了解决这个问题的方法之一是下载的源代码,并将其转换到2005年。我听说,为这个项目工作的罚款,从我的一个朋友。你可以做的另一件事是删除标记allowDefinition='MachineToApplication'的Web.config中的
Fred_Smith
评论会员:游客 时间:2011/12/07
你能解释为什么写你自己的plumming的,使AJAX是个好主意为什么不坚持像Atlas的共同框架?Herre
大汉阿卜杜
评论会员:游客 时间:2011/12/07
毫无疑问,D.A.可以答复,如果他想为自己,但我个人"写我自己的plumming",你把它的所有...这样真正得到学习是怎么回事-然后我可能会迁移到Atlas..欢呼F
秘密
评论会员:游客 时间:2011/12/07
Herre我一个大风扇的Atlas。我在工作中使用它,我绝对不会在任何时候都写我自己的"plumming"代码。尽管如此,我想写的AJAX代码,是独立的框架。上面的代码可以使用任何人想要做AJAX此外,由于弗雷德提到的,它有助于看到真正理解AJAX是低级别的代码。
迈克郎
评论会员:游客 时间:2011/12/07
YEP!我非常同意你们多数民众赞成真实。有些时候你需要编写自己的代码,如果你知道AJAX的基础知识,提高您的编程。
大汉阿卜杜
评论会员:游客 时间:2011/12/07
有些人仍然工作NET1.1代码。我目前的工作。NET1.1和。NET2.0代码。Atlas是唯一支持的。NET2.0。麦郎(versat1474)imgsrc=http://www.orcode.com/upimg/2011_12_07_04_16_45_3.gif
jesusonline
评论会员:!说得很好 时间:2011/12/07
大汉阿卜杜
评论会员:游客 时间:2011/12/07
嘿!你疯了吗??你知道任何有关SQL注入吗?怎么样,如果我提出这个请求page.aspx行动=UpdateEmployeeFirstName='';DROPTABLE员工-?请使用SqlParameters!
jesusonline
评论会员:游客 时间:2011/12/07
你是正确的!{五}我不想使用存储过程,保持简单的例子。我在更新本文的例子中。我将确保考虑到这一次SQL注入攻击。感谢您的提醒!
大汉阿卜杜
评论会员:游客 时间:2011/12/07
无需使用存储过程,看看这个:SqlCommand的CMD=新的SqlCommand(@" 更新雇员 集合 名字=@名字, 姓氏=姓氏, 手机,单位电话=@ 标题=标题, 出生日期=@生日, HIREDATE=@HIREDATE 的EmployeeID=@的EmployeeID",CNN);cmd.Parameters.Add("@名字",SqlDbType.VarChar) cmd.Parameters.Add("姓氏",SqlDbType.VarChar) cmd.Parameters.Add("@手机",SqlDbType.VarChar) cmd.Parameters.Add("标题",SqlDbType.VarChar); cmd.Parameters.Add("生日",SqlDbType.DateTime)cmd.Parameters.Add("@HIREDATE",SqlDbType.DateTime) cmd.Parameters.Add("@的EmployeeID",SqlDbType.Int) cmd.Parameters["@名字"]值=名字; cmd.Parameters["@lastName的"]=lastName的;cmd.Parameters["电话"]=电话; cmd.Parameters["标题"]值=称号; cmd.Parameters["@生日"]值=生日;cmd.Parameters["@HIREDATE"]=HIREDATE; cmd.Parameters["@的EmployeeID"]值=雇员;{五}
大汉阿卜杜
评论会员:游客 时间:2011/12/07
感谢这也很好。我想保持代码紧凑,但我会认为有关使用此。