下面的代码用于从c#插入到Fox pro db,如果我在fox pro表上禁用插入触发器,则工作。
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表中启用了触发器,那么我就会收到 "功能不可用 "的错误信息。
insertlog("terms",RECNO(),"I")
我可以从Visual Fox pro中插入记录到fox pro表中,并且触发器可以将日志记录添加到其他表中。
谢谢你对这个问题的任何提示。
在Insertlog()函数中是否有什么代码是OLEDB驱动不支持的?如果你有Visual FoxPro,那么在帮助文件中查找 "OLE DB Provider中不支持的Visual FoxPro命令和函数",并对照你的触发代码进行检查。