问题标签 [fsharp.data.sqlclient]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
544 浏览

f# - F# 和 Excel vba

我在 F# 中编写了一个函数,它基本上从访问数据库中获取数据并执行各种计算。有没有办法从excel vba调用这个函数?我想通过excel传递所有参数值,并在excel中获取所有输出值。解决这个问题的最佳方法是什么?

0 投票
2 回答
590 浏览

f# - F 将记录类型保存到访问数据库中

我有以下记录类型“tbl”,它将包含列表或序列。如何使用 f sharp 将这个“tbl”保存/更新到现有的访问数据库表中,字段名称如下所示。

0 投票
1 回答
525 浏览

f# - SqlProgrammabilityProvider 疑难解答

即使在最基本的配置中,我似乎也无法让 SqlProgrammabilityProvider 工作。使用此代码

我收到设计/编译时错误“未定义值或构造函数'TestDb'”

testConn 是一个文字字符串,可以在同一个项目中与 SqlCommandProvider 一起正常工作。

我正在使用 VS 2015、FSharp.Data.SqlClient 1.7.5,并且我尝试过针对 .NET 4.5.2 和 4.6。

是否存在已知问题或限制?如果没有,我该如何解决它?

0 投票
1 回答
576 浏览

f# - F# SqlCommandProvider 将评估推迟到运行时

我正在尝试使用 SqlCommandProvider(FSharp.Data.SqlClient 的一部分)创建一个列,如果它不存在,然后设置一个约束(自引用)。问题是它不会编译,因为它检测到作为约束的一部分的列还不存在。我尝试将其包装在另一个 IF 块中,但无济于事。

我非常希望不使用动态 sql。我想知道是否有办法推迟评估以使其正常运行(注意,查询本身在 SQL Management Studio 中运行良好)

错误 1 ​​类型提供程序 'FSharp.Data.SqlCommandProvider' 报告错误:外键 'FK_ParentIdCustomerId' 在引用表 'Company' 中引用了无效列 'ParentId'。无法创建约束。请参阅以前的错误。

0 投票
2 回答
231 浏览

linq - 使用查询表达式与 Seq 模块?

在操作通过 FSharp.Data.SqlClient 检索的数据时,使用查询表达式而不是序列模块有什么优势吗?

例如:

相对

就此而言,您甚至可以考虑使用 LINQ。那么,如果有的话,有什么优势,特别是在 FSharp.Data.SqlClient 方面?

0 投票
1 回答
1585 浏览

f# - 将 app.config 中的连接字符串与 FSharp.Data.SqlClient 一起使用

我正在使用FSharp.Data.SqlClient并尝试将我的 connectionString 从 a 移动[<Literal>]到 app.config。

我的 app.config 看起来像这样

我的SqlCommandProvider样子如下,根据http://fsprojects.github.io/FSharp.Data.SqlClient/configuration%20and%20input.html应该是正确的

现在的问题是。最后一部分,??????部分内容。

我试过"name=DefaultConnection"了,但它给了我一个运行时错误,名称不受支持。

我似乎找不到任何解释那里发生了什么的文档。

更新

没有解决问题,我发现了这个解决方法。 https://fsprojects.github.io/FSharp.Configuration/

我不明白ConnectionStringOrName是否必须提供连接字符串。还有为什么你必须指定它两次。对我来说意义不大:(

0 投票
2 回答
283 浏览

f# - 使用类型填充列表

我试图用我自己的类型填充列表。

在 C# 中,我只需将新对象添加到userList. 如何将新的添加user到列表中?还是从数据库中获取某种包含数据的列表的更好方法?

0 投票
2 回答
238 浏览

f# - f# sqlite sqlprovider minBy maxBy using float

我有一个混合了整数和浮点列的 sqlite 表。我正在尝试获取每列的最大值和最小值。对于整数列,以下代码有效,但在浮点列上使用相同代码时出现转换错误:

对于浮动列,我使用以下代码,但速度很慢。

我有 8 个整数列和 9 个浮点列,并且所有列的行为都是一致的,所以这就是为什么我认为这是列类型的问题。但我是 F# 的新手,什么都不知道,所以我希望你能帮助我。

感谢您花时间提供帮助,非常感谢。

SQLProvider 版本:1.0.41

System.Data.SQLite.Core 版本:1.0.104

错误是:FSharp.Core.dll 中发生 System.InvalidCastException

添加信息

我创建了一个包含一列浮点类型的新表。我插入了值 2.2 和 4.2。使用 SQLProvider 和 System.Data.SQLite.Core 我连接使用 minBy 或 maxBy 查询数据库,我得到了强制转换异常。如果列类型是整数,则它可以正常工作。

更多附加信息

异常详情:

System.Exception 未处理 消息:在 >FSharp.Core.dll 中发生了“System.Exception”类型的未处理异常附加信息:不支持的执行表达式value(FSharp.Data.Sql.Runtime.QueryImplementation+SqlQueryable1[FSharp.>Data.Sql.Common.SqlEntity]).Min(row = > >Convert(Convert(row.GetColumn("X"))))`

失败的代码:

2017 年 2 月 1 日更新

另一个用户能够重现该问题,因此我向 SQLProvider 提交了一个问题。我现在正在寻找解决方法,虽然下面的代码可以工作并且速度很快,但我知道有更好的方法来做到这一点 - 我只是找不到正确的方法。如果有人用更好的代码回答,我会接受这个答案。再次感谢所有帮助。

0 投票
1 回答
66 浏览

f# - 通过 asp.net 核心中的引用项目使用 Fsharp.Sql.DataClient

我正在构建一个 Asp.net Core (.NET Framework 4.6.2) 项目。我添加了一个使用 FSharp.Sql.DataClient 的引用 F# 项目。当我从主项目调用 F# 代码以从数据库中检索数据时,我收到此错误:

这在 Asp.net Core 之前的项目中运行良好,所以我猜这可能与主项目的 appsettings.json 文件中连接字符串的定义方式有关,与以前版本中的配置文件相反,并且在引用的 F# 项目中的配置文件。我的sql代码是这样定义的:

稍后在代码中调用如下:

我怎样才能使它与 Asp.net Core 一起工作?

0 投票
1 回答
161 浏览

sql-server - FSharp.Data.SqlClient with multiple result sets

With FSharp.Data.SqlClient, how do you use SqlCommandProvider or SqlProgrammabilityProvider with multiple result sets? For instance if you wanted to get Customer+Orders where your stored procedure returns the customer info in the first result set and the orders in the second result set?

records:

sp: