火鸟执行语句
本文关键字:语句 执行 火鸟 | 更新日期: 2023-09-27 18:04:55
我试图通过使用执行块将多行插入火鸟表。但是我得到一个错误,说"term"无效。
"Dynamic SQL Error nSQL error code = -104 Token unknown - line 1, column 5 term"
下面是我用于插入
的c#代码connection.Open();
string insertData = "set term ^ ; execute block as begin;";
foreach (dataPoint dataPointInsert in dataPointList)
{
insertData += string.Format(" insert into data (trip_id, trip_type, longitude, latitude, speed, date_time, heading, valid) values ('{0}','{1}','{2}','{3}',{4},'{5}','{6}',{7});",
dataPointInsert.GUID, dataPointInsert.tripType, dataPointInsert.longitude, dataPointInsert.latitude, dataPointInsert.speed, dataPointInsert.dateTime, dataPointInsert.heading, Convert.ToInt32(dataPointInsert.valid));
}
insertData += " end^";
var createCommand = new FbCommand(insertData, connection);
createCommand.ExecuteNonQuery();
我试图复制firebird网站上的例子。
我正在使用火鸟2.5.2版本和火鸟ADO。. NET Data provider 4.1.5.0
你不(事实上你不应该,因为这是一个客户端命令,火鸟不理解它)必须使用set term
,因为FbCommand
和火鸟本身(在协议中)只能执行一个查询"批处理"。
所以在 execute block
语句中创建,就可以了。
你不必使用set term ^;
用^
结束你的代码如果您必须将term设置为^,则将其放回set term;^