2010-03-07 60 views
2

我想创建一个VB.Net应用程序,检查数据库,然后打印出最新的订单,该数据库是MySQL的,我需要它来periodatically检查并只打印新订单即不能打印的人就已经打印出来了。自动打印出订单

任何意见将大大appriciated。

凯尔

回答

2

我建议下破问题成碎片:

  1. “检查数据库” - 你需要创建一个关系数据库的连接。您必须设置与MySQL的ADO.NET或ODBC连接。
  2. 您不会说数据库是否与应用程序在同一台计算机上运行。如果不是,则必须能够在网络上连接到它。
  3. 确保您在MySQL中授予适当的权限。不要仅使用管理员凭据登录。为您的应用程序设置单独的ID。
  4. “然后打印出来” - 您的应用程序将不得不找到一种方法来获取有关打印机的信息。您不会说它是否直接连接到作业将运行的服务器,或者它是联网的打印机。如果是后者,请确保您的应用可以看到网络打印机。
  5. “最新的订单,数据库是mysql” - 尝试编写一个单独的查询来测试只获取最新的订单。
  6. 您的模式是否包含标记哪些订单已打印以及何时打印的方法?您的应用程序应该在每个订单打印时插入一条记录,记录时间戳。你可以加入这个表来找出最新的,未打印的订单。
  7. “我需要它定期” - 您的应用需要是对您指定的时间表运行cron作业。每个工作日,每小时?一晚上一次?你决定什么时候设置cron工作。
1

你可以尝试使用LINQ和dbLINQ与MySQL连接。如果您使用的是.NET Framework 3.5,那么您可以利用像LINQ这样的优势来加速开发时间。

如果使用WPF客户端应用程序,你可以使用一个FlowDocument的布局订单详细信息,然后处理订单的打印。打印完成后,您可以更新数据库或在本地存储详细信息,以便将该订单标记为打印。这取决于你的数据库模式。

+0

谢谢你的回复。 1.它是一个Winforms应用程序。 2.打印机将连接到运行应用程序的相同机器。 3.数据库模式是innodb。 4.数据库是远程的 5。我从来没有使用过LINQ。 最后一个问题我将如何在VB.net中运行cron? Kyle – 2010-03-07 15:55:08

+0

您可以使用Windows XP(http://support.microsoft.com/kb/308569)中的计划任务或Windows Vista/7中的任务计划程序。应该可以通过API访问这些Windows工具。 – Luke 2010-03-09 06:32:47

+0

谢谢卢克,我会研究一下。 – 2010-03-09 13:25:12

5

我的建议是在印刷标志添加到数据库中,即在其中通过缺省表示的条目没有被印刷的存储0的数据库和一个1,它表示已打印的条目添加的印刷领域。

我然后创建该检查,其中标志= 0。

这些条目是需要打印的那些中的所有条目的数据库表的应用程序。

打印每个条目的数据库中设置其标志为1。将该标志设置为1可确保下一次轮询数据库时条目将被忽略。

+0

这是我们提出的解决方案,谢谢。这个线程现在是6个月大。谢谢你。 – 2010-09-03 08:44:41