从c#(。NET)向Visual Fox Pro db插入记录时抛出的功能不可用异常

问题描述 投票:0回答:1

如果我在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表中,并且触发器可以将日志记录添加到其他表中。

谢谢您对此的任何提示。

c# .net triggers oledb foxpro
1个回答
1
投票

Insertlog()函数中是否有OLEDB驱动程序不支持的任何代码?如果您具有Visual FoxPro,则在帮助文件中查找“ OLE DB提供程序中不受支持的Visual FoxPro命令和功能”,并对照触发器代码进行检查。

© www.soinside.com 2019 - 2024. All rights reserved.