2

是否可以使用参数将空间实例插入 SQLDB。

就我而言,我将 TADOQuery (AQuery) 与 TADOConnection(AConnection) 一起使用。我的表由两列 Geom:geometry 和 ObjectName:varchar(50) 组成

对于第二种情况(带参数),如何正确传递几何实例作为参数。

这是有效的 - 没有参数

sqlString = "insert into obj ";
sqlString += (" (Geom,ObjectName) values('Point(2 2)', 'Point')");
AQuery->SQL->Text = sqlString;
AQuery->ExecSQL();

这不起作用 - 使用参数

sqlString = "insert into obj ";
sqlString += (" (Geom,ObjectName) values(:Geom, :ObjectName)");

AQuery->SQL->Text = sqlString;

AQuery->Parameters->ParamByName("Geom")->Value = "POINT (100 105)";
AQuery->Parameters->ParamByName("ObjectName")->Value = "Point";

AQuery->ExecSQL();
AQuery->Parameters->Clear();
AQuery->Close();
4

0 回答 0