问题标签 [hdbc]
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.
haskell - Haskell,HDBC.Sqlite3 - 如果列不存在,如何添加?
我有一个函数,它给出一个Int
返回字符串列表的列表。
fetchParts :: Int -> [[String]]
这就是输出的样子
[["title", "some title"], ["rate", "2.4"], ["dist", "some string"], ["tr", "1"], ["td, "2"] ..]]
输出的长度可以是可变的。只有前 3 个列表可以 100% 出现。
列表的后半部分可以是
["a", "1"], ["b", "2"] ..
或者
["some", "1"], ["part", "2"], ["of", "3"] ..]
或者
["ex1", "a"], ["ex2", "b"], ..]
或其他一些字符串组合。
我想将此输出添加到 sqlite3 数据库文件中。我为此使用HDBC和HDBC.Sqlite3。
要将某些内容添加到数据库文件中,我正在运行这些函数
partsEntry
像这样的简单 SQL 字符串在哪里
partsEntry = "INSERT INTO PARTSDATA ( title, rate, dist, ...) VALUES ( "some title", "2.4", "some string", ...)
在哪里
( title, rate, dist, ...)
来自head <$> fetchParts 1
和
("some title", "2.4", "some string" ...)
来自last <$> fetchParts 1
问题是如果"some"
列不存在,代码会抛出错误。
我想做的是这样的
- 如果列
"abc"
不存在,则在当前行添加列"abc"
并插入 值"this"
- 如果列存在,只需在当前行
"abc"
插入值"this"
但我不知道该怎么做。
haskell - Haskell 更优雅地从 Sql 转换为其他类型
我有这个:
为了转换从数据库中获取的行,我使用这个:
所有作品,但我可以例如map
从fromSql
获取的条目列表中sql
吗?也许是一个远景:zip
带有类型列表的映射列表,所以上面的代码更简洁?
haskell - HDBC ODBC fetchAllRows 返回 SqlError
我正在尝试获取一个简单的 haskell 程序来与 MySQL 数据库通信。该程序可以正确构建,但是当我运行该程序时,我从第一个查询中获得了大约一半的输出,然后是以下我难以解释的错误:
SqlError {seState = "[]", seNativeError = -2, seErrorMsg = "sqlFetch: []"}
该程序从 MySQL 数据库中的图像中提取带有标签的文本框,并将其解析为固定格式。
使用 app/Main.hs...
Main.hs 目前只是为测试示例 url 输入的执行而设置的。
希望这是足够的细节。我也仍然非常“爬哈斯克尔山”,所以也随时对代码提出任何建议。
database - 如何使用 HDBC 获取完整(呃)表模式
HDBC初学者在这里。我想查看我的表的架构。我知道我可以describeTable
用来获取SqlColDesc
每个表的,但我也想查看SqlColDesc
不包含的主键和外键。有没有办法通过 HDBC 或其他 Haskell 接口访问这些信息?
haskell - Haskell hdbc-odbc 与 Sybase 数据库的连接仅在使用跟踪功能时才有效
我正在尝试通过 unixODBC 和 freetds 使用 hdbc-odbc 连接到 Sybase 数据库。以下几行应该打开一个连接,准备一个查询,执行它并断开连接。
结果是,然而SqlError {seState = "[]", seNativeError = -2, seErrorMsg = "SQLRowCount: []"}
然而,以下代码有效:
重要的是,单独添加或单独添加都无济于事。目前,结果将与没有其中任何一个的结果相同,但昨天遗漏仍然会导致两个后续查询之一成功,另一个产生与上述相同的错误。但是保持稳定的是上面的第一个代码片段不工作,而第二个工作。seq conn
trace "Test"
trace "Test"
使用 PHP 或 isql,我没有遇到此类问题,这似乎表明问题至少部分出在 HDBC 方面。此外,使用trace
可以系统地在获得结果和没有获得结果之间产生差异,这绝对是不受欢迎的行为。
有没有人熟悉这种问题或有预感可能是什么原因?到目前为止,搜索网络和 SO 根本没有帮助。