using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Lskj.Control; using Lskj.Core; using Lskj.Util; using Lskj.Data; using Lskj.Business.Impl; using System.Data.SqlClient; namespace WindowsFormsApplication2 { public partial class FrmMain : BaseForm { public DynamicDemoModel Model; public TextBox t1 { get { return textBox1; } } public TextBox t2 { get { return textBox2; } } public FrmMain() { InitializeComponent(); } private System.Data.DataTable BgSqTable = new System.Data.DataTable(); private System.Data.DataTable BGSjTable = new System.Data.DataTable(); private System.Data.DataTable BGXjTable = new System.Data.DataTable(); private System.Data.DataTable tmpTable = new System.Data.DataTable(); /** * 说明如下:ss * 开发环境:采用Vs2010开发环境 * 调用.net程序支持2种模式:1、调用exe 2、调用dll类库 * * 1、调用exe方式:无需建立DllBaseClass.cs参数类,直接建立exe程序即可。参数通过入口参数提取。 * 2、调用dll方式: 需要建立DllBaseClass.cs参数类,需要注意类名称必须为DllBaseClass,具体参考DllBaseClass.cs方法,基本上通用。 * * 通用设置: * 建立窗口需要继承BaseForm窗口,同时引入6个公共dll程序(Lskj.Business.dll、Lskj.Control.dll、Lskj.Core.dll、Lskj.Data.dll、Lskj.Model.dll、Lskj.Util.dll) * 此窗口在Lskj.Control.dll中,前提需要安装DevExpress15.2版本。 * Lskj.Business.dll 所有业务处理类库,以及访问数据库操作类 * Lskj.Core.dll 数据库连接创建类库 * Lskj.Data.dll 存放资源文件以及所有提示信息 * Lskj.Model.dll 存放公用的业务对象Model * Lskj.Util.dll 存放所有常用操作类 * * 下面展示一下怎么创建连接获取数据等 **/ /// /// 说明:窗口加载时调用 /// 创建人:龚宇超 /// 创建日期: /// 修改人: /// 修改日期: /// 修改备注: /// 版本:1.0 /// /// The source of the event. /// The instance containing the event data. private void FrmMain_Load(object sender, EventArgs e) { // 检查数据库连接 if (!DBConfig.Instance.CreateConnection()) { MessageUtil.Show(ResourceKeys.UnConnectServer); return; } // 检查delphi连接 if (DelphiHelper.Delphi_Init(new StringBuilder(DBConfig.Instance.GetDelphiConnection())) == 0) { MessageUtil.Show(ResourceKeys.UnConnectServer + "[By Delphi]"); return; } // 访问数据库开始操作,所有公共操作在BaseImpl类里面,下面还有很多继承类 string sqlValue = "select * from p_systemtab"; DataTable tmpTable = BaseImpl.GetDataTableResult(sqlValue); // MessageUtil.Show(table.Rows.Count + ""); this.Text = tmpTable.Rows[0]["ClientName"].ToString(); textBox3.Text = DllBaseClass.DyBgModel; dateadd(); } private void dateadd() { string leftstr=DllBaseClass.Gproductid.Substring(0,2); string sql = ""; if (leftstr == "YP") { sql = "select OriginBill,ZtTig,a.ProductId,a.Appellation,a.spec,b.model,originbill,mc,case when ZtTig=1 then wz else jtwz end as wz from P_FixedAssetsMlTab " + " a left join P_BgZtView c on a.ZtTig=c.dm join ( select case when ISNULL(SjProductid,'')<>'' then SjProductid else ProductId end as GbProductidA,model " + " from p_ProductTab a where (left(a.ProductId,2)='BG') AND ( a.model='" + textBox3.Text + "') and (a.model<>'') ) b on a.SbBillid=b.GbProductidA "; } else { if (leftstr == "CB") { sql = "select OriginBill,ZtTig,a.ProductId,a.Appellation,a.spec,b.model,originbill,mc,case when ZtTig=1 then wz else jtwz end as wz from P_FixedAssetsMlTab " + " a left join P_BgZtView c on a.ZtTig=c.dm join ( select ProductId,case when ISNULL(SjProductid,'')<>'' then SjProductid else ProductId end as GbProductidA,model " + " from p_ProductTab a where (left(a.ProductId,2)='BG') ) b on a.SbBillid=b.GbProductidA join p_ProductTab d on b.ProductId=d.GbProductidA where d.ProductId='" + DllBaseClass.Gproductid + "' "; } else { label1.Visible = false; textBox3.Visible = false; sql = "select OriginBill,ZtTig,a.ProductId,a.Appellation,a.spec,b.model,originbill,mc,case when ZtTig=1 then wz else jtwz end as wz from P_FixedAssetsMlTab " + " a join ( select case when ISNULL(b.SjProductid,'')<>'' then b.SjProductid else b.ProductId end as GbProductidA,b.model from ( " + " SELECT bom_cbl_productid FROM Bom_CoBillMainTab a join Bom_CoBillListTab b on a.bom_cbm_billdocument_id=b.bom_cbl_billdocument_id " + " where bom_cbm_clientid=" + DllBaseClass.Clientid + " and bom_cbm_productid='" + DllBaseClass.Gproductid + "' and left(bom_cbl_productid,2)='BG') a join p_ProductTab b on a.bom_cbl_productid=b.ProductId ) b " + " on a.SbBillid=b.GbProductidA left join P_BgZtView c on a.ZtTig=c.dm "; } } BgSqTable = BaseImpl.GetDataTableResult(sql); gridControl1.DataSource = BgSqTable; sql = "select b.ProductId,a.id,tigid,Appellation,model,cast(tigid as bit) as tigid1 from P_FixedAssetsDYTab a join P_FixedAssetsMlTab b on a.lproductid=b.ProductId where JtID='" + DllBaseClass.Gjtid + "' and tigid<2 and Redid=0 "; BGSjTable = BaseImpl.GetDataTableResult(sql); gridControl2.DataSource = BGSjTable; sql = "select a.id,tigid,Appellation,model,LProductid from P_FixedAssetsDYTab a join P_FixedAssetsMlTab b on a.lproductid=b.ProductId where JtID='" + DllBaseClass.Gjtid + "' and tigid=2 "; BGXjTable = BaseImpl.GetDataTableResult(sql); gridControl3.DataSource = BGXjTable; } private void button1_Click(object sender, EventArgs e) { string sql="INSERT P_FixedAssetsDYTab(DYbilldocument_id,LProductid,JtID,operatename,operatedate) " + "select DBO.p_Getbillid('8000301',''),'" + BgSqTable.Rows[gridView1.FocusedRowHandle]["productid"].ToString() + "','" + DllBaseClass.Gjtid + "', '" + DllBaseClass.Goperatorname + "',getdate()"; BaseImpl.ExecSqlValue(sql); sql = "UPDATE P_FixedAssetsMlTab SET ZtTig=2,jtwz='" + DllBaseClass.GjtName + "' where ProductId='" + BgSqTable.Rows[gridView1.FocusedRowHandle]["productid"].ToString() + "' "; BaseImpl.ExecSqlValue(sql); dateadd(); button1.Enabled = false; button2.Enabled = false; } private void button2_Click(object sender, EventArgs e) { string sql="UPDATE P_FixedAssetsMlTab SET ZtTig=3 where ProductId='" + BGSjTable.Rows[gridView2.FocusedRowHandle]["productid"].ToString() + "' "; BaseImpl.ExecSqlValue(sql); sql = "update P_FixedAssetsDYTab set tigid=2,sjopname='" + DllBaseClass.Goperatorname + "',sjopdate=getdate() where id='" + BGSjTable.Rows[gridView2.FocusedRowHandle]["ID"].ToString() + "' "; BaseImpl.ExecSqlValue(sql); dateadd(); } private void gridView1_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { string zttig = BgSqTable.Rows[gridView1.FocusedRowHandle]["ZtTig"].ToString(); if (zttig == "1" || zttig == "6") { button1.Enabled = true; } else { button1.Enabled = false; } } private void gridView2_RowCellClick(object sender, DevExpress.XtraGrid.Views.Grid.RowCellClickEventArgs e) { string zttig = BGSjTable.Rows[gridView2.FocusedRowHandle]["tigid"].ToString(); if (zttig == "1") { button4.Enabled = false; button2.Enabled = true; } else { button4.Enabled = true; button2.Enabled = false; } } private void button4_Click(object sender, EventArgs e) { string sql = "UPDATE P_FixedAssetsMlTab SET ZtTig=1,jtwz='' where ProductId='" + BGSjTable.Rows[gridView2.FocusedRowHandle]["productid"].ToString() + "' "; BaseImpl.ExecSqlValue(sql); sql = "delete P_FixedAssetsDYTab where id='" + BGSjTable.Rows[gridView2.FocusedRowHandle]["ID"].ToString() + "' "; BaseImpl.ExecSqlValue(sql); dateadd(); } private void button5_Click(object sender, EventArgs e) { string sql = "INSERT P_FixedAssetsDYTab(DYbilldocument_id,LProductid,JtID,operatename,operatedate,Redid,Outid) " + "select DBO.p_Getbillid('8000301',''), '" + BGXjTable.Rows[gridView3.FocusedRowHandle]["LProductid"].ToString() + "' , '" + DllBaseClass.Gjtid + "' , " + "'" + DllBaseClass.Goperatorname + "',getdate(),1, '" + BGXjTable.Rows[gridView3.FocusedRowHandle]["id"].ToString() + "' "; BaseImpl.ExecSqlValue(sql); sql = "update P_FixedAssetsDYTab set tigid=3 where id='" + BGXjTable.Rows[gridView3.FocusedRowHandle]["id"].ToString() + "' "; BaseImpl.ExecSqlValue(sql); dateadd(); } private void gridControl3_Click(object sender, EventArgs e) { } private void button6_Click(object sender, EventArgs e) { Close(); } private void textBox3_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == 13) { dateadd(); } } private void button3_Click(object sender, EventArgs e) { } } }