最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

无法在位上调用方法

IT培训 admin 2浏览 0评论

无法在位上调用方法

我正在尝试检查两个地理对象是否相交并删除重叠的部分(在下面的代码段中不做此部分)。请在下面找到代码。它给我错误

无法按位调用方法。

我正在使用mssql库并且正在使用节点10。找不到关于此错误的任何信息。我想知道这是代码错误还是mssql库出现问题。如果是,那我该如何解决这个问题?

*****更新******仅对STIntersects()给出此错误,对STIntersection()和STDifference可以正常工作。

const sql = require('mssql');
        let path1 = `geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326).MakeValid()`;
        let path2 = `geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326).MakeValid()`;
        let query = `SELECT ${path1}.STIntersects(${path2}).ToString();
        SELECT ${path1}.STIntersection(${path2}).ToString();`;
        let dbConfig = {
            user: 'username',
            password: 'password',
            server: 'localhost',
            database: 'db_name',
            port: port,
            connectionTimeout: 30000,
            requestTimeout: 180000,
            max: 15,
            min: 3,
            idleTimeoutMillis: 30000
        };

        sql.connect(dbConfig, err => {
            if (err)
                throw err;
            console.log('Success');
            queryExecuter();

        });

        let queryExecuter = async () => {
            try {
                let request = new sql.Request();
                let result1 = await request.query(query)

                console.log(result1)
            } catch (err) {
                console.log(err)
                // ... error checks
            }
        }

        sql.on('error', err => {
            console.log(err)
            // ... error handler
        })
回答如下:

[基本上,我只是试图在某个位上调用ToString()函数,该位是STIntersects()的返回类型,SQL不支持/不需要此类型。谢谢@Jeroen Mostert消除了这种歧义。

无法在位上调用方法

我正在尝试检查两个地理对象是否相交并删除重叠的部分(在下面的代码段中不做此部分)。请在下面找到代码。它给我错误

无法按位调用方法。

我正在使用mssql库并且正在使用节点10。找不到关于此错误的任何信息。我想知道这是代码错误还是mssql库出现问题。如果是,那我该如何解决这个问题?

*****更新******仅对STIntersects()给出此错误,对STIntersection()和STDifference可以正常工作。

const sql = require('mssql');
        let path1 = `geography::STGeomFromText('POLYGON((-122.358 47.653, -122.348 47.649, -122.348 47.658, -122.358 47.658, -122.358 47.653))', 4326).MakeValid()`;
        let path2 = `geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326).MakeValid()`;
        let query = `SELECT ${path1}.STIntersects(${path2}).ToString();
        SELECT ${path1}.STIntersection(${path2}).ToString();`;
        let dbConfig = {
            user: 'username',
            password: 'password',
            server: 'localhost',
            database: 'db_name',
            port: port,
            connectionTimeout: 30000,
            requestTimeout: 180000,
            max: 15,
            min: 3,
            idleTimeoutMillis: 30000
        };

        sql.connect(dbConfig, err => {
            if (err)
                throw err;
            console.log('Success');
            queryExecuter();

        });

        let queryExecuter = async () => {
            try {
                let request = new sql.Request();
                let result1 = await request.query(query)

                console.log(result1)
            } catch (err) {
                console.log(err)
                // ... error checks
            }
        }

        sql.on('error', err => {
            console.log(err)
            // ... error handler
        })
回答如下:

[基本上,我只是试图在某个位上调用ToString()函数,该位是STIntersects()的返回类型,SQL不支持/不需要此类型。谢谢@Jeroen Mostert消除了这种歧义。

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论