MLineFromShape 使用多線串類型的形狀與空間參照系統識別,並傳回多線串。
語法
db2gse.MLineFromShape(ShapeMultiLineString Blob(1M), cr db2gse.coordref)
回覆類型
db2gse.ST_MultiLineString
範例
下列程式碼片斷在 WATERWAYS 表格中移入唯一的 ID、名稱及水路多線串。
WATERWAYS 表格是以 ID 與 NAME 直欄建立的, 這些直欄定義表格中所儲存的每條溪流與河川系統。WATER 直欄是多線串,因為河川與溪流系統通常是數個多線串的聚集。
CREATE TABLE WATERWAYS (id integer, name varchar(128), water db2gse.ST_MultiLineString); /* 建立 SQL insert 陳述式,以移入 id、名稱及 多線串。問號是參數記號, 可指出執行期將擷取的 id、名稱及 水路值。 */ strcpy (shp_sql,"insert into WATERWAYS (id,name,water) values (?,?, db2gse.MLineFromShape (cast(? as blob(1m)), db2gse.coordref()..srid(0)))"); /* 為 SQL 陳述式 handle 配置記憶體,並結合此 陳述式 handle 與連接 handle。 */ rc = SQLAllocStmt (handle, &hstmt); /* 準備要執行的 SQL 陳述式。 */ rc = SQLPrepare (hstmt, (unsigned char *)shp_sql, SQL_NTS); /* 將整數 ID 值連結第一個參數。 */ pcbvalue1 = 0; rc = SQLBindParameter (hstmt, 1, SQL_PARAM_INPUT, SQL_C_SLONG, SQL_INTEGER, 0, 0, &id, 0, &pcbvalue1); /* 將 VARCHAR 名稱值連結第二個參數。 */ pcbvalue2 = name_len; rc = SQLBindParameter (hstmt, 2, SQL_PARAM_INPUT, SQL_C_CHAR, SQL_CHAR, name_len, 0, &name, name_len, &pcbvalue2); /* 將形狀連結第三個參數。 */ pcbvalue3 = blob_len; rc = SQLBindParameter (hstmt, 3, SQL_PARAM_INPUT, SQL_C_BINARY, SQL_BLOB, blob_len, 0, water_shape, blob_len, &pcbvalue3); /* 執行 insert 陳述式。 */ rc = SQLExecute (hstmt);