我正在尝试将查询结果自动保存到文本文件中,而不使用 ODBC Windows 连接在 VB.NET 中循环读取器对象。但我找不到方法!
这就是我到目前为止所尝试的:
mCmd = New OdbcCommand( _
"SELECT my_id FROM " & myTable & " WHERE myflag='1' \o 'c:/a_result.txt'", mCon)
n = mCmd.ExecuteNonQuery
但这根本行不通。请建议或代码示例如何获取它。
第二...
理想情况下,将结果保存到文本中,我会在变量“n”中获得许多已保存的行。至于现在我只得到 0 或 1 取决于查询是否成功。
编辑:
经过一番战斗,我找到了一种或多或少成功的方法。
到txt文件:
mCmd = New OdbcCommand( _
"COPY (SELECT my_id FROM " & myTable & " WHERE myFlag='1' " & _
"ORDER BY my_id) TO 'c:/a_result.txt' DELIMITER AS '|'", mCon)
到 csv 文件:
mCmd = New OdbcCommand( _
"COPY (SELECT my_id FROM " & myTable & " WHERE myFlag='1' " & _
"ORDER BY my_id) TO 'c:/a_result.csv' WITH CSV", mCon)
那行得通,但我无法转义引号和“\”,所以我在输出文件中得到了双符号。
如果有经验的人知道如何实现 csv 文件的转义和更改分隔符,我会很高兴在给定的示例中看到它。
查询后的变量“n”包含许多导出的行。