有人知道如何使用 c# 从 oledb 驱动程序中删除 pack Foxpro 数据

2024-02-01

这是我的代码

//Probando insercion
        OleDbConnection conexionFoxPro = new OleDbConnection();

        string rutaFoxPro = @"C:\Users\BigMander\Documents\Proyectos de Visual FoxPro\prueba.dbc";

        conexionFoxPro.ConnectionString = String.Format("Provider=VFPOLEDB.1;Data Source={0};Exclusive=Yes;", rutaFoxPro);

        bool sePudoEjecutarTodo = true;

        try
        {
            conexionFoxPro.Open();

            OleDbCommand comandoFoxPro = new OleDbCommand();

            comandoFoxPro.CommandText =
                @"INSERT INTO test ([nombre], [telefono], [id]) VALUES (?, ?, ?)";


            comandoFoxPro.Parameters.Add("nombre", OleDbType.Char).Value = "bigmander";
            comandoFoxPro.Parameters.Add("telefono", OleDbType.Char).Value = "some number";
            comandoFoxPro.Parameters.Add("id", OleDbType.Integer).Value = 5;

            comandoFoxPro.Connection = conexionFoxPro;

            sePudoEjecutarTodo &= (comandoFoxPro.ExecuteNonQuery() > 0);

            comandoFoxPro.CommandText =
                @"SELECT nombre, telefono FROM test";

            OleDbDataReader reader = comandoFoxPro.ExecuteReader();

            while (reader.Read())
            {
                Console.WriteLine("{0}: {1}", reader.GetName(0), reader["nombre"]);
                Console.WriteLine("{0}: {1}", reader.GetName(1), reader["telefono"]);
            }

            reader.Close();
            reader.Dispose();

            comandoFoxPro.CommandText =
                "DELETE FROM test WHERE id = 5";

            sePudoEjecutarTodo &= (comandoFoxPro.ExecuteNonQuery() > 0);

            comandoFoxPro.CommandText =
                "SET EXCLUSIVE ON; PACK test";

            sePudoEjecutarTodo &= (comandoFoxPro.ExecuteNonQuery() > 0);
        }
        catch(OleDbException oleDbE)
        {
            sePudoEjecutarTodo = false;
            Console.WriteLine(oleDbE.Message);

        }
        finally
        {
            if (sePudoEjecutarTodo)
                Console.WriteLine("Congratulaciones si se armo todo");
            else
                Console.WriteLine("Pelas");

            conexionFoxPro.Close();
            Console.ReadKey();
        }

我在foxpro 9中有一个数据库,其中有一个名为test的测试表,我用正常的sql语句进行了测试,除了从数据库中物理删除数据的pack语句之外,一切都很顺利,我发现了一个示例,它向我展示了如何做它但它与其他类型的驱动器(adodb)一起使用,但即使我可以用该代码做到这一点,我想知道这个东西如何在 oledb 中工作。


    static void Main(string[] args)
    {
    Console.WriteLine("Starting program execution...");

    string connectionString = @"Provider=VFPOLEDB.1;Data Source=h:\dave\"; 

    using (OleDbConnection connection = new OleDbConnection(connectionString)) 
    { 
        using (OleDbCommand scriptCommand = connection.CreateCommand()) 
        { 
            connection.Open();

            string vfpScript = @"SET EXCLUSIVE ON
                                DELETE FROM test WHERE id = 5
                                PACK"; 

            scriptCommand.CommandType = CommandType.StoredProcedure; 
            scriptCommand.CommandText = "ExecScript"; 
            scriptCommand.Parameters.Add("myScript", OleDbType.Char).Value = vfpScript; 
            scriptCommand.ExecuteNonQuery(); 
        } 
    } 

    Console.WriteLine("End program execution..."); 
    Console.WriteLine("Press any key to continue"); 
    Console.ReadLine(); 
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

有人知道如何使用 c# 从 oledb 驱动程序中删除 pack Foxpro 数据 的相关文章

随机推荐

  • 为什么“取消引用”和“地址”运算符位于左侧?

    在 C 以及其他一些类似 C 的语言 中 我们有 2 个一元运算符用于处理指针 解引用运算符 和 地址 运算符 他们是left一元运算符 这会带来运算顺序的不确定性 例如 ptr gt field or arr id 操作顺序is标准严格定
  • 计算数据帧中数字连续出现的次数

    我有一个包含 1 和 0 的虚拟列的数据框 我想计算每行 1 或 0 出现的次数 每次都从 0 开始 对 1 进行累加计数 对 0 进行倒数计数下面是一个例子 import pandas as pd df pd DataFrame Dumm
  • Excel:检查单元格是否包含文本字符串中的数字

    我有一个工作表 每个单元格中都有文本字符串 文章标题 我想知道单元格是否包含数字 例如 This is 3 gt TRUE Red balloon gt FALSE It s 10 things gt TRUE Update 这里的每个答案
  • python urllib2:连接被对等方重置

    我有一个 Perl 程序 可以从我的大学图书馆的数据库中检索数据 并且运行良好 现在想用python重写但是遇到问题
  • 无法单击 iframe 中的下拉菜单 - Selenium Python

    问题 尝试使用 Chrome 驱动程序和 Selenium 以及 Python 单击 iframe 内的下拉菜单 大家好 昨天一位用户好心地帮助我解决了一个新手查询 我无法单击 url 中的链接 这是因为我必须切换到 iframe 这部分代
  • 如何在C#中手动使用资源(无IDE行为)?

    我正在使用 Visual Studio 学习 C 我想更深入一点 我想知道如何手动使用项目资源 不是通过 IDE 我搜索了该网站 但我刚刚看到这个家伙的帖子如何在 NET中创建和使用资源 https stackoverflow com qu
  • 在 Firefox 扩展中使用 indexedDB

    我无法在 Firefox 扩展中使用 indexedDB 保存数据 我也找不到有关 indexedDB 和 Firefox 扩展的任何信息 有人处理过这个吗 唯一的问题是 对于indexedDB您需要一个窗口 除此之外 从附加组件使用它时没
  • XMLReader 未知

    按照此介绍 http csharp net tutorials com xml reading xml with the xmlreader class 可以通过导入命名空间来使用 XMLReader 类System Xml 在我的 Vis
  • 使用 SWAPI(星球大战 API)的 React 项目出现混合内容错误

    我构建一个 React 项目只是为了尝试一些东西 我在使用时遇到问题SWAPI 星球大战 API https swapi dev 我不断收到Mixed Content Error当我尝试在我的 React 项目中通过 axios 使用他们的
  • istio egressgateway:通过静态 IP 进行路由

    我尝试通过静态 IP 从 GKE 集群中的应用程序路由出站流量 因为目标服务器需要将 IP 列入白名单才能访问 我已经能够使用 terraformed nat 网关来执行此操作 但这会影响来自集群的所有流量 按照网站上的 istio 指南
  • 链表部分

    我想我可能做对了 headByRating 和 headByName 都引用相同的地址 我整天都在画图表尝试新事物等 但我并没有真正取得任何进展 我有两个列表指针 headByRating 和 headByName 以及两个节点指针 nex
  • 如何通过命令行在副本集中的辅助mongodb服务器中设置rs.slaveOk()?

    如何通过命令行在副本集中的辅助mongodb服务器中设置rs slaveOk 我尝试了以下方法 MONGO HOME bin mongo port MONGO PORT2 host MONGO SECONDARY2 eval printjs
  • 在 WebForm_OnSubmit 之后调用自定义客户端验证函数? 。网

    我想在我的 NET 验证器控件运行其 javascript 后运行一个简单的 JS 函数 我的onsubmit值是javascript return WebForm OnSubmit 它似乎是自动生成的 我无法更改它 我是否正确地假设我只需
  • SQL Server 中的 ALTER 与 DROP & CREATE

    SQL Server中创建存储过程后为什么要替换Create with Alter 如果我们不改变它 执行时会发生什么 除了检查是否存在并删除之外 还有更好的替代方法吗 Create如果表存在将会失败 Alter如果表不存在将会失败 如果你
  • Laravel dusk:使用 Dropzone.js 测试文件上传

    我正在使用拉拉维尔5 6 and Dusk对于这个具体的测试 我正在尝试在我的拖放区中断言文件上传 但我的 Dropzone 是以我没有的方式创建的file输入元素 所以我不能使用attach method 所以我尝试了以下方法 file
  • 将自定义 Oauth 提供程序与 firebase.auth().signInWithRedirect 集成?

    我使用以下命令设置了 Twitch OAuth 集成Instagram 示例 https github com firebase functions samples tree master instagram auth 现在我可以通过打开登
  • 在续集种子中查找记录

    我一直在尝试为我的项目编写一些种子 但遇到了一些障碍 我有一个many to many与我的关系users and roles桌子 因此 当我播种数据库时 我需要将具有正确 ID 的记录添加到连接表中 为了做到这一点 我需要通过以下方式找到
  • 如何使用 wcstombs 代替 WideCharToMultiByte ?

    wcstombs有三个参数 WideCharToMultiByte有八个args 如何更换 How use wcstombs像这样写 int kk WideCharToMultiByte 936 0 szBn ccBn 1 0 0 0 0
  • Linux 将虚拟内存范围映射到现有虚拟内存范围?

    在Linux中 有没有一种方法 在用户空间中 将虚拟地址范围映射到支持现有虚拟地址范围的物理页面 mmap 函数只允许映射文件或 新 物理页 我需要能够做这样的事情 int addr1 malloc SIZE int addr2 0x600
  • 有人知道如何使用 c# 从 oledb 驱动程序中删除 pack Foxpro 数据

    这是我的代码 Probando insercion OleDbConnection conexionFoxPro new OleDbConnection string rutaFoxPro C Users BigMander Documen