在.NET中调用DataWindow操作数据库
       Sybase在2004/1/19日推出了Pb 10 beta1版本,其中包含DataWindow.NET 1.0,这真是一个另人兴奋的消息! 在PB市场日益萎缩的今天,在.NET大行其道的今天Sybase公司终于推出了DataWindow.NET,它支持DataWindow绝大部份原有事件和属性,PB技术终于可以重新又派上用场了!!
  下过来安装程序,便急不可待的在VS.NET2003下面做了一个简单的例子,发现真的很好用!源代码、界面如下:
using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
namespace cjgl.Report
{
 /// <summary>
 /// DataWindowTest 的摘要说明。
 /// </summary>
 public class DataWindowTest : System.Windows.Forms.Form
 {
  private Sybase.DataWindow.DataWindowControl dw;
  private Sybase.DataWindow.Transaction Trans;
  private System.Windows.Forms.Button btnRetrieve;
  private System.Windows.Forms.Button btnDelete;
  private System.Windows.Forms.Button btnInsert;
  private System.Windows.Forms.Button btnSave;
  private System.ComponentModel.IContainer components;
  public DataWindowTest()
  {
   //
   // Windows 窗体设计器支持所必需的
   //
   InitializeComponent();
   //
   // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
   //
   
   
  }
  /// <summary>
  /// 清理所有正在使用的资源。
  /// </summary>
  protected override void Dispose( bool disposing )
  {
   if( disposing )
   {
    if(components != null)
    {
     components.Dispose();
    }
   }
   base.Dispose( disposing );
  }
  #region Windows 窗体设计器生成的代码
  /// <summary>
  /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  /// 此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {
   this.components = new System.ComponentModel.Container();
   this.btnRetrieve = new System.Windows.Forms.Button();
   this.btnDelete = new System.Windows.Forms.Button();
   this.btnInsert = new System.Windows.Forms.Button();
   this.dw = new Sybase.DataWindow.DataWindowControl();
   this.Trans = new Sybase.DataWindow.Transaction(this.components);
   this.btnSave = new System.Windows.Forms.Button();
   this.SuspendLayout();
   // 
   // btnRetrieve
   // 
   this.btnRetrieve.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
   this.btnRetrieve.Location = new System.Drawing.Point(360, 297);
   this.btnRetrieve.Name = "btnRetrieve";
   this.btnRetrieve.TabIndex = 1;
   this.btnRetrieve.Text = "Retrieve";
   this.btnRetrieve.Click += new System.EventHandler(this.btnRetrieve_Click);
   // 
   // btnDelete
   // 
   this.btnDelete.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
   this.btnDelete.Location = new System.Drawing.Point(260, 296);
   this.btnDelete.Name = "btnDelete";
   this.btnDelete.TabIndex = 2;
   this.btnDelete.Text = "Delete";
   this.btnDelete.Click += new System.EventHandler(this.btnDelete_Click);
   // 
   // btnInsert
   // 
   this.btnInsert.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
   this.btnInsert.Location = new System.Drawing.Point(152, 295);
   this.btnInsert.Name = "btnInsert";
   this.btnInsert.TabIndex = 3;
   this.btnInsert.Text = "Insert";
   this.btnInsert.Click += new System.EventHandler(this.btnInsert_Click);
   // 
   // dw
   // 
   this.dw.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Win