如何在 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 对象的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Javascript 中获取 C# 枚举

如何使用 SQL 参数在 C# 中编辑登录表单?

如何在纯 C# 中使用 PL/SQL?

如何在 C# 中调用 SQL 函数?

如何在c#中使用oledb执行pl sql块

在 c# 中使用 javascript 日历设置值后如何获取文本框的文本?