[英]Save UTF8 string by SqlBulkCopy c#
我有这个SQL查询:
INSERT INTO myTable (myField) VALUES (N'Thermal Oxide: 0 Å to 40 μm')
我想像这样通过SqlBulkCopy执行它:
DataTable myDataTable=myDb.getData("select top 1* from myTable").Clone();
DataRow dr = myDataTable.NewRow();
dr["myField"] ="N'Thermal Oxide: 0 Å to 40μm'";
myDataTable.Rows.Add(dr);
this.openCon();
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(con)) {
bulkCopy.DestinationTableName = dt.TableName;
bulkCopy.BulkCopyTimeout = 100;
bulkCopy.WriteToServer(myDataTable);
} this.closeCon();
这是完美的工作,但是我的问题是:我可以在哪里初始化'N'前缀? 也许没有必要?
谢谢,chani
只是:
dr["myField"] = "Thermal Oxide: 0 Å to 40μm";
N'...'
仅对于TSQL中的文字是必需的; 但是由于您要获取数据 (而不是TSQL),因此无需担心。 对于SqlBulkCopy
,它将以原始格式(而不是直接作为TSQL格式)发送到服务器。
在更常见的适配器或ORM情况下,该库将(很可能)使用参数,否则将担心转义自身。
也许还应该指出的是,通过SqlBulkCopy
添加1行是过大的。 但它应该起作用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.