小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

.net2005下datawindow.net2.0的簡單使用

 悟靜 2012-02-06

在用過C#和PB后,就一直在想這個問題,如果能把PB中強(qiáng)大的datawindow功能放到C#使用,則對程序的開發(fā)能有很大的幫助。當(dāng)我發(fā)現(xiàn)Sybase公司出了可以在.net中使用的datawindow.net時,心中感到一陣高興。這陣有空,研究了一下,終于把這個功能用上了。

        操作前,請安裝環(huán)境:Visual Studio .NET 2005,Datawindow.NET 2.0

        具體操作如下:

        1、設(shè)計要使用的datawindow

              A、打開DataWindow Designer(DataWindow設(shè)計器),新建一項目,如:test.dwp(此操作在默認(rèn)情況下會自動生成一個對應(yīng)項目名稱的pbl文件,此處為:test.pbl)

              B、建一數(shù)據(jù)庫連接,我這兒是sql server2000,建數(shù)據(jù)連接時,我選擇的是[ADO Microsoft ADO.NET],選擇[New...]按鈕,建立過程與PB中建數(shù)據(jù)連接一樣:

                    在Connection 頁面:

                     Profile Name: LocalSql     //數(shù)據(jù)鏈接名,可自行設(shè)置

                     Namespace: System.Data.SqlClient      // 可選擇合適的連接數(shù)據(jù)要用的命名空間

                     Data Source: (local)

                     User ID:        sa

                     Password:     hospital_1

                     Database:      hospital

                     設(shè)置完后,可以切換到Preview頁面中,通過選擇[Test Connection]測試所做的參數(shù)設(shè)置是否正確。然后選擇[OK]

            

              C、新建datawindow對象,并保存到對應(yīng)的pbl文件中。創(chuàng)建過程與PB中一樣,這兒不詳說。有不清楚的請參考PB的相關(guān)書籍內(nèi)容。

                    如果有多個datawindow,則需重復(fù)此操作。

              D、關(guān)閉所有的設(shè)計界面。在設(shè)計界面的左邊的項目名稱上面,鼠標(biāo)右擊,在出現(xiàn)的菜單中,選擇項:[Build Deployment...]后將pbl文件發(fā)布為pbd文件。(此處為test.pbd)

         2、vs2005中的調(diào)用。

               A、打開vs2005,新建一C#下的Windows應(yīng)用程序工程:CallDataWindow。

               B、在窗體中,新建一datawindow控件(Sybase DataWindow 2.0下的DataWindowControl),命名為dw。并設(shè)置如下屬性:

                      ScrollBars:Both  //顯示橫向縱向滾動條

                      LibraryList:Test.pbd  //把pbd文件拷貝到運行目錄下

                      DataWindowObject:(此處選擇設(shè)計好了的datawindow名)

                      其它的,根據(jù)需要設(shè)置。

               C、在窗體中,放幾控件:

                       button1:取數(shù)據(jù)               button2:新增行         button3:刪除行        button4:保存       button5:打印    button6:另存為...

               D、切換到源碼中,程序中聲明三變量

                       System.Data.SqlClient.SqlConnection theConnection; // 數(shù)據(jù)庫連接

                       Sybase.DataWindow.AdoTransaction trans;   // 事務(wù)

                       int dwRow;              // datawindow選中的行

               E、在Form_Load事件中,加入如下代碼:

  1.             theConnection = new System.Data.SqlClient.SqlConnection();
  2.             theConnection.ConnectionString = "Data Source=.;Initial Catalog=hospital;User ID=sa;";
  3.             theConnection.Open();
  4.             trans = new Sybase.DataWindow.AdoTransaction(theConnection, "");
  5.             trans.BindConnection();
  6.             dw.SetTransaction(trans);
  7.             dw.SetRowFocusIndicator(Sybase.DataWindow.RowFocusIndicator.Hand); // 設(shè)置指示圖標(biāo)

                 F、    dw的事件RowFocusChanged加如下代碼:

                            dwRow = e.RowNumber;     // 保存當(dāng)前選中行。

                 G、button1的Click事件:

                        dw.Retrieve();   // 獲取數(shù)據(jù)

                 H、button2的Click事件:          // 插入一行         

  1.             int row = dw.InsertRow();  // 插入行 
  2.             dw.SetItemString(row, "czy""test"); // 給當(dāng)前行指定列賦值 
  3.             dw.ScrollToRow(row);    // 滾動到指定 
  4.             string s1;
  5.             s1 = dw.GetSqlSelect();  //取datawindow的sql語句,此處只取,沒有使用 

                  I、button3的Click事件:  // 刪除一行

                         dw.DeleteRow(dwRow);   // 當(dāng)選中行變化時,值dwRow會相應(yīng)變化。。

                  J、button4的Click事件:// 保存當(dāng)前修改。

                        dw.UpdateData(true, true);

                  K、button5的Click事件:  // 打印

                        dw.Print();

                  L、button6的Click事件: // 另存為...

  1.             SaveFileDialog saveDlg = new SaveFileDialog();
  2.             saveDlg.CheckPathExists = true;
  3.             saveDlg.AddExtension = true;
  4.             saveDlg.Filter = "(*.xls)xls文件|*.xls|(*.csv)csv文件|*.csv|(*.pdf)pdf文件|*.pdf|(*.txt)txt文件|*.txt|(*.xml)xml文件|*.xml";
  5.             DialogResult dr = saveDlg.ShowDialog();
  6.             if (dr == DialogResult.OK)
  7.             {
  8.                 string filename = saveDlg.FileName;
  9.                 int type1;
  10.                 type1 = saveDlg.FilterIndex;
  11.                 try
  12.                 {
  13.                     switch (type1)
  14.                     {
  15.                         case 1:
  16.                             dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Excel, true);
  17.                             break;
  18.                         case 2:
  19.                             dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Csv, true);
  20.                             break;
  21.                         case 3:
  22.                             dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Pdf, true); // 貌似這個要出錯。不知是不是我系統(tǒng)的原因
  23.                             break;
  24.                         case 4:
  25.                             dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Text, true);
  26.                             break;
  27.                         case 5:
  28.                             dw.SaveAs(filename, Sybase.DataWindow.FileSaveAsType.Xml, true);
  29.                             break;
  30.                         default:
  31.                             break;
  32.                     }
  33.                     MessageBox.Show("保存成功!!""系統(tǒng)提示", MessageBoxButtons.OK);
  34.                 }
  35.                 catch (Exception ex)
  36.                 {
  37.                     MessageBox.Show("保存時出錯,原因:" + ex.Message, "系統(tǒng)提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
  38.                 }
  39.             }

                     使用C#調(diào)用datawindow,并完成一些簡單功能的介紹就到這兒。如有什么不對的地方或是考慮不周的地方,還請各位指出。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多