火鸟执行语句

本文关键字:语句 执行 火鸟 | 更新日期: 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;^