1

我有以下代码:

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();

我一直遇到这个问题:“字符串或二进制数据将被截断。语句已终止”。我的 lat 和 long 的列类型nvarchar(max)在我的 sql 表中。在我的情况下可能是什么问题?

4

1 回答 1

2

它将是这些行:

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

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

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

于 2013-04-11T23:56:43.060 回答