You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#中如何向CSV文件写入含逗号的SQL语句

解决方案

你的核心问题是CSV会把SQL语句中的逗号识别为列分隔符,导致内容被拆分到不同列。你之前的错误在于修改了SQL本身的语法(把逗号换成","),反而破坏了Insert语句的格式。

正确的做法是遵循CSV的规范:当字段内容包含逗号时,用双引号将整个字段包裹,这样CSV阅读器就会把整个SQL语句识别为单个列,不会拆分内部的逗号。

修正后的代码

string query = "Insert into table(userId,companyID) values(" + userId + "," + SplitedLine[1] + ")";
// 用双引号包裹整个SQL语句,避免CSV拆分内部逗号
string csvContent = "\"" + query + "\"";
writer.WriteLine(csvContent);

或者使用C#的字符串插值(更简洁):

string query = $"Insert into table(userId,companyID) values({userId},{SplitedLine[1]})";
string csvContent = $"\"{query}\"";
writer.WriteLine(csvContent);

额外说明

如果userId或SplitedLine[1]是字符串类型,SQL语句本身需要用单引号包裹值(否则会引发SQL语法错误),此时完整代码应该是:

string query = $"Insert into table(userId,companyID) values('{userId}','{SplitedLine[1]}')";
string csvContent = $"\"{query}\"";
writer.WriteLine(csvContent);

这样生成的CSV内容会是类似:

"Insert into table(userId,companyID) values('1001','COMP001')"

CSV阅读器会将其识别为单个列,同时SQL语句的语法也完全正确。

内容的提问来源于stack exchange,提问作者Anonymous

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 21:40:19