如何在 JavaScript 中使用 C# SQLDataReader 对象
Posted
技术标签:
【中文标题】如何在 JavaScript 中使用 C# SQLDataReader 对象【英文标题】:How to use C# SQLDataReader Object in JavaScript 【发布时间】:2018-01-02 10:26:48 【问题描述】:我的目标是将C#
SQLDataReader
对象从C#
函数返回到javascript
。
在JavaScript
部分,我想从 DataReader 中读取字符串值。
这可能吗?
这就是我的测试方式:
var tools = Tools.GetExtension("LoadTheNETAssembly");
reader = tools.ExecProcedure("exec Loc.dbo.spASTVSwitch '" + sExtension + "', '" + sChannel + "'");
所以我在C#
代码中调用了“ExecProcedure”函数。
这可行,但我不知道如何处理返回的 SQLDataReader。
过去我将一个 ADODB-Connection 对象从 Delphi-Function 返回到 JavaScript
。
这很好用,我想用C#
替换 Delphi-Part。
【问题讨论】:
不返回reader对象,服务器端读取数据然后返回数据(比如格式化为JSON),然后让JS处理。 JS 无论如何都无法理解服务器端 C# 对象,这两种语言之间没有等价性(此外,你将如何通过网络传输这样的东西),你的建议没有多大意义。即使你可以,一旦阅读器对象到达浏览器,它就无法再访问数据库,你将如何调用它的方法和属性?同样,您不能在 JS 中运行 C# 方法,这简直是荒谬的。 听起来你在谈论在 .net 中创建一个 COM 对象。 但是我们如何在 Delphi 中使用 ADOConnection 对象来做到这一点呢?是的,这是正确的,我正在创建一个 COM 对象。 这很老派。你能详细说明为什么你需要这样做吗?也许有更好的方法。如果没有,可以从这里开始***.com/questions/3232242/… 我们的系统必须非常灵活。有一个所谓的“处理程序”,它是用 JavaScript 编写的,我们从这个处理程序中调用不同的操作。例如,在本例中,从 SQL Server 读取数据并计算一些值。 【参考方案1】:我在 winforms 中制作了一个应用程序,其中所有页面都使用静态 html、css、javascript。我需要从我的整个后端代码在 c# 中的应用程序中绑定我的基于 javascript 的列表。我只是在页面上完成了 ComVisibleAttribute(True)。我的 C# 代码公开了一个具有所有结果的 StringBuilder。
我只是从该对象上的 javascript 调用 .ToString(),我可以在 javacript 中看到响应。同时我的断点在 C#(.cs 代码)中命中,所以这就是我完成工作的方式。
在您的情况下,您是从 JavaScript 代码调用 C# 代码。您可以将每个对象(公开的)暴露给 Javascript 代码。比如阅读这篇文章https://www.codeproject.com/Articles/35373/VB-NET-C-and-JavaScript-communication
你可以像这样从 Javascript 调用你的 C# 对象
window.external.reader.MyFunction()
请记住,您要在 c# 中使用的对象应该是可公开访问的,并且必须是静态的。
【讨论】:
以上是关于如何在 JavaScript 中使用 C# SQLDataReader 对象的主要内容,如果未能解决你的问题,请参考以下文章