Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MySQL几何体函数时发生SQL错误_Mysql_Sqlgeography_Sqlgeometry - Fatal编程技术网

使用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()
函数:)。