Sql server VBScript/ASP经典
关于VBScript和ASP Classic,我有几个问题:Sql server VBScript/ASP经典,sql-server,model-view-controller,asp-classic,vbscript,Sql Server,Model View Controller,Asp Classic,Vbscript,关于VBScript和ASP Classic,我有几个问题: 在VBScript/ASP中访问MS SQL Server数据库的首选方法是什么 关于从视图和控制器中分离模型,最佳实践是什么 关于VBScript或ASP,我还应该知道什么 如果您没有注意到,我是VBScript编码新手。我意识到数字2和3是一种过于笼统的巨大“黑洞”问题,所以不要认为我期望从这里了解关于这两个问题的所有知识。ADO是在VBScript/Classic ASP中访问数据库的极好方法 Dim db: Set db =
如果您没有注意到,我是VBScript编码新手。我意识到数字2和3是一种过于笼统的巨大“黑洞”问题,所以不要认为我期望从这里了解关于这两个问题的所有知识。ADO是在VBScript/Classic ASP中访问数据库的极好方法
Dim db: Set db = Server.CreateObject("ADODB.Connection")
db.Open "yourconnectionstring -> see connectionstrings.com"
Dim rs: Set rs = db.Execute("SELECT firstName from Employees")
While Not rs.EOF
Response.Write rs("firstName")
rs.MoveNext
Wend
rs.Close
更多信息请点击此处:
需要注意的是,如果要在记录集中返回备注字段,请确保一次只选择一个备注字段,并确保它是查询中的最后一列。否则你会遇到问题。
(参考资料:)关于第二条,我想你有几个选择 1) 您可以使用VB6等开发的COM组件将一些业务逻辑与UI分离
2) 可以在VBScript中创建类。实现中没有继承的概念,也没有其他更高级的功能,但是您可以将逻辑封装在类中,这有助于减少应用程序的垃圾性。看看这个:重复了一些想法并添加了一些我自己的想法: 1) 访问数据库的最佳方法是将其抽象为某种COM组件,您可以从VBScript访问该组件 2) 如果您真的想要,您可以用VBScript编写控制器,然后在页面中访问它。它类似于页面控制器模式,而不是ASP.NET MVC或MonoRail中的前端控制器
3) 你为什么这样对自己?完成此类工作所需的大多数工具甚至不再可用。早在VBScript/ASP还可以使用的时候 我在一家公用事业公司工作,那里的DB环境非常复杂,我曾经对这个网站发誓:
@michealpryor说得对我一直在构建ASP,我感觉到了你的痛苦 1) 对SQL Server进行查询的最佳方法是使用参数化查询;这将有助于防止SQL注入攻击 教程(不是我的博客):
2) 我还没有看到任何关于MVC的专门针对ASP的东西,但我肯定对它感兴趣,因为这是我很难理解的事情。我通常尝试在单独的函数中至少包含类似于视图的内容和类似于控制器的内容。我想您可以在单独的文件中编写代码,然后使用服务器端包含将它们重新连接在一起 3) 您可能来自一种内置了更多功能的语言。一开始,有些东西可能会缺失,但这通常只是编写比您习惯的多出很多行的代码的问题。记住要用这种语言编程,而不是用它编程。仅仅因为您使用的工具集有限,并不意味着您必须像1999年那样编程 我同意杰森关于课程的看法。的确,你不能做像继承这样的事情,但你可以很容易地伪造它
Class Dog
Private Parent
Private Sub Class_Initialize()
Set Parent = New Animal
End Sub
Public Function Walk()
Walk = Parent.Walk
End Function
Public Function Bark()
Response.Write("Woof! Woof!")
End Function
End Class
在我的项目中,ASP页面将具有以下内容:
INC-APP-CommonIncludes.asp-这包括我的常规库(数据库访问、文件函数等)和设置安全性,包括任何配置文件(如连接字符串、目录位置等)和公共类(用户、权限等),并包含在每个页面中
Modules/ModuleName/page.vb.asp-有点像代码隐藏页面。包括特定于页面的BO、BLL和DAL类,并设置页面所需的数据/接收提交的表单数据等
Modules/ModuleName/Display/INC-DIS-Page.asp-显示在Page.vb.asp中设置的数据。此外,对于数据库访问,我有一组函数-GetSingleRecord、GetRecordset和UpdateDatabase,这些函数与Michael上面提到的函数类似当我看到第一个答案时,我不得不离开我的电脑,我仍然为它得到这么多人的认可而苦恼。这是一个非常糟糕的ASP代码的骇人听闻的例子,这种代码可以确保您的站点是SQL可注入的,如果您继续在整个站点上使用此代码,则在其生命的一英寸之内就可以被破解 这不是你应该给ASP编码新手的那种代码,因为他们会认为这是该语言的专业编码方式