使用MySQL几何体函数时发生SQL错误
我收到以下错误: 声明已终止使用MySQL几何体函数时发生SQL错误,mysql,sqlgeography,sqlgeometry,Mysql,Sqlgeography,Sqlgeometry,我收到以下错误: 声明已终止 在执行用户定义的例程或聚合“几何体”时发生.NET Framework错误: System.FormatException:24141:输入的第13位应为数字。输入有@data1 经过一番努力,我终于找到了解决这个问题的办法。如果其他人再次遇到此类问题,请发布解决方案。在几何学中,当我传递@data1和@data2时,其变量为@data1,而不是其浮点值。因此,我们可以做以下几点: ALTER PROCEDURE dbo.StoredProcedure1 A
在执行用户定义的例程或聚合“几何体”时发生.NET Framework错误:
System.FormatException:24141:输入的第13位应为数字。输入有@data1
经过一番努力,我终于找到了解决这个问题的办法。如果其他人再次遇到此类问题,请发布解决方案。在几何学中,当我传递
@data1
和@data2
时,其变量为@data1
,而不是其浮点值。因此,我们可以做以下几点:
ALTER PROCEDURE dbo.StoredProcedure1
AS
DECLARE @Seedid int, @data1 float, @data2 float, @g geometry
DECLARE member_cursor CURSOR FOR
SELECT id from test1 ;
OPEN member_cursor;
FETCH NEXT FROM member_cursor
INTO @Seedid ;
WHILE @@FETCH_STATUS = 0
BEGIN
select @data1 =data1 from test where id=@Seedid
select @data2 =data2 from test where id=@Seedid
update test1
set data4 = geometry::STGeomFromText('POINT (@data1 @data2)', 0)
where id=@Seedid;
-- This is executed as long as the previous fetch succeeds.
FETCH NEXT FROM member_cursor
INTO @Seedid ;
END
RETURN
CLOSE member_cursor;
DEALLOCATE member_cursor;
经过一番努力,我终于找到了解决这个问题的办法。如果其他人再次遇到此类问题,请发布解决方案。在几何学中,当我传递
@data1
和@data2
时,其变量为@data1
,而不是其浮点值。因此,我们可以做以下几点:
ALTER PROCEDURE dbo.StoredProcedure1
AS
DECLARE @Seedid int, @data1 float, @data2 float, @g geometry
DECLARE member_cursor CURSOR FOR
SELECT id from test1 ;
OPEN member_cursor;
FETCH NEXT FROM member_cursor
INTO @Seedid ;
WHILE @@FETCH_STATUS = 0
BEGIN
select @data1 =data1 from test where id=@Seedid
select @data2 =data2 from test where id=@Seedid
update test1
set data4 = geometry::STGeomFromText('POINT (@data1 @data2)', 0)
where id=@Seedid;
-- This is executed as long as the previous fetch succeeds.
FETCH NEXT FROM member_cursor
INTO @Seedid ;
END
RETURN
CLOSE member_cursor;
DEALLOCATE member_cursor;
谢谢你发布这个!我应该意识到我需要将点(在我的例子中是浮点数)转换为文本,然后再将它们传递到
…FromText()
函数:)。谢谢发布此消息!我应该意识到我需要将点(在我的例子中是浮点)转换为文本,然后再将它们传递到…FromText()
函数:)。