字符串或二进制数据将被截断.在update语句中

本文关键字:update 语句 二进制 数据 字符串 | 更新日期: 2023-09-27 18:08:49

我有以下代码:

glat += result.geometry.location.lat;
glong += result.geometry.location.lng;
gPostal += postalCode;    
sqlUpdateQuery = "update testlatlong set Lat =@lat,Long =@long where postalcode =@postal";
SqlCommand updateCommand = new SqlCommand(sqlUpdateQuery, sqlConn);
updateCommand.Parameters.Add("@lat", SqlDbType.NVarChar).Value = glat;
updateCommand.Parameters.Add("@long", SqlDbType.NVarChar).Value = glong;
updateCommand.Parameters.Add("@postal", SqlDbType.NVarChar).Value = gPostal;
updateCommand.ExecuteNonQuery();

我一直遇到这样的问题:"字符串或二进制数据将被截断。声明已经终止。"在我的sql表中,lat和long的列类型是nvarchar(max)。我的问题是什么?

字符串或二进制数据将被截断.在update语句中

就是这样几行:

glat += result.geometry.location.lat;
glong += result.geometry.location.lng;
gPostal += postalCode;    

他们只是看起来不对。您发布的所有代码看起来都像在一个循环中,由于+=,邮政编码将不断增长,最终比列的大小还要长。

即使lat和lng是varchar(max),它在做什么增量添加到列值?