如果我在fox pro表上禁用插入触发器,则下面的从c#插入Fox pro db的代码将起作用。
try
{
string query = @"insert into TERMS (VENDOR,TERMINAL,TERM) values(?,?,?)";
OleDbConnection sourceConn = new OleDbConnection(@"Provider=VFPOLEDB.1;Data Source=E:\repos\Database\log");
using (OleDbCommand cmd = new OleDbCommand(query, sourceConn))
{
cmd.CommandType = CommandType.Text;
cmd.CommandTimeout = 1000;
OleDbDataAdapter sqlDataAdapter = new OleDbDataAdapter();
sourceConn.Open();
cmd.Parameters.AddWithValue("?", "sws1");
cmd.Parameters.AddWithValue("?", "sa1");
cmd.Parameters.AddWithValue("?", "ds1");
cmd.ExecuteNonQuery();
sourceConn.Close();
}
}
catch (Exception ex)
{
}
如果我在Fox pro表中启用了触发器,那么我将收到错误消息“功能不可用”在Fox Pro表上应用的插入触发器如下
insertlog("terms",RECNO(),"I")
我能够将记录从Visual Fox pro插入到fox pro表中,并且触发器可以将日志记录添加到其他表中。
谢谢您对此的任何提示。
Insertlog()函数中是否有OLEDB驱动程序不支持的任何代码?如果您具有Visual FoxPro,则在帮助文件中查找“ OLE DB提供程序中不受支持的Visual FoxPro命令和功能”,并对照触发器代码进行检查。