精华内容
下载资源
问答
  • 3:实现用户的删除功能…… .:.::::::.:...:::.:.:a.::::.:::::::::.:::.:::::::.:::.: 172 巩固练习 174 第8章使用 Data Reader完成查询功能 177 核心技能部分… 178 8.1 DataReader对象 811 Data reader对象简介 ...
  • C# WINFORM 打包数据库

    2010-12-09 13:11:00
    实现效果:安装项目时直接附加数据库。1.首先在需要部署项目解决方案资源管理器中新建一个安装项目 2....在解决方案资源管理器中,新建一个类库项目【InstallDB】,删除Class1.cs,新建一个安装程序[InstallDB.

     

    实现效果:安装项目时直接附加数据库。
    1.首先在需要部署的项目的解决方案资源管理器中新建一个安装项目
     
    2.在安装项目的文件视图中,右键【应用程序文件夹】->【添加】->【项目输出】
     
    选择你的项目中的启动项目,下面的列表中,默认就是主输出,确定。
    3.此时在文件系统的中间栏目,会自动列出编译所需的文件。一个简单项目打包差不多,还有快捷方式什么的,就不说了。开始重点了。
    创建安装程序类
    4.在解决方案资源管理器中,新建一个类库项目【InstallDB】,删除Class1.cs,新建一个安装程序类[InstallDB.cs],等下将在这个类中编写附加数据库代码。
     
    创建自定义安装对话框
    5.在刚新建的安装项目上右键,【视图】->【用户界面】:
    在用户界面中,右键【启动】-【添加对话框】-选择【文本框(A)】-确定。
    6.然后右键这个文本框(A),将其上移欢迎使用下面:
    右键选择【属性】,参考下图的信息填写:

    7.在刚新建的安装项目上右键,【视图】->【自定义操作】:
    8.右键【自定义操作界面】的【安装】节点,【添加自定义操作】,弹出的对话框。
    9.查找范围里选择应用程序文件夹,再点击右侧的【添加输出(O)…】,选择刚新建的安装程序类项目,默认还是主输出,确定。此时:
    10.右键这个【主输出来自InstallDB(活动)】,进入属性界面,在【CustomActionData】属性里输入下面的内容:
    /dbname=[DBNAME] /server=[SERVER] /user=[USER] /pwd=[PWD] /targetdir="[TARGETDIR]/"
    说明:其中前四个方括号中的大写字母,为上面第6步图中输入的四个EditProPerty属性,需要对应好。最后一个targetdir的值的意思是安装后文件的目录路径。
    特别提醒:前三个"/XXX=[XXX]"后面  ,都有一个空格
    11.现在可以添加数据库文件了,在刚新建的安装项目上右键,【添加】->【文件】,选择你的MDF和LDF文件,就是安装时需要附加的数据库文件。
    12.最后,我们只需在安装程序类里编写附加数据库的代码了。打开上面第4步中新建的安装程序类,参考下方的代码,编写适合您的附加数据库代码:
     

     

    展开全文
  • C# winform TreeView编辑简单示例

    热门讨论 2011-02-26 21:49:41
    这个winform树很简单,只包括了树编辑、添加节点和删除节点功能,窗体右侧ListView显示树节点下包含信息(就是分类下产品呵呵,不知道怎么表达了) 该树是为了答疑解惑CSDN上朋友一些疑问专门写一...
  • C# winform典型系统开发模板

    热门讨论 2011-09-17 15:13:21
     5.3.3 打印类的设置 101  5.3.4 打印数据信息 108 第6章 决策分析模块   6.1 设计思路 112  6.2 关键技术 112  6.2.1 游标基本操作 112  6.2.2 存储过程基本操作 115  6.2.3 透视...
  • WPF中Treeview绑定数据库数据

    千次阅读 2012-04-24 21:36:25
    WPF遍历所有的节点其实和Winform的一样,都是从跟级开始读:这个是我写的一个,明天在写出来添加删除的来:class BindTreeView { private DataTable dt; private string sql = ""; DBHealper db = new ...
    WPF遍历所有的节点其实和Winform的一样,都是从跟级开始读:这个是我写的一个类,明天在写出来添加删除的来:
    class BindTreeView
        {
            private DataTable dt;
            private string sql = "";
            DBHealper db = new DBHealper();//连接数据库的类
            /// 2012-02-24 By Dawn
            /// <summary>
            /// 从数据库中读取数据填充Treeview的父节点
            /// </summary>
            /// <param name="tr">读取数据的Treeview</param>
            public void TreeViewBind(TreeView tr)
            {
                tr.Items.Clear();//先清理一下节点
                sql = "select * from Node where NodeVisble=1";//我要读的节点  NodeVisble自己定义的是否显示节点 1为显示
                dt = db.ExecuteSqlDS(sql); //这个不用关心,执行sql语句的嘛
    
                if (dt != null || dt.Rows.Count > 0)            //判断一线有没有数据
                {
                    //首先遍历父节点
                    TreeViewItem item;//wpf不再是节点了  改成item 其实是一样的
                    DataRow[] dr = dt.Select("ParentID='0'");  //判断一下啊 ,我用ParentID(父节点的值)这个是我定义好的要根据
                                                              // 这个读父节点的 
                    if (dr.Length != 0)
                    {
                        foreach (DataRow drTemp in dr)
                        {
                            item = new TreeViewItem();
                            item.Tag = drTemp["ID"].ToString();     //一般绑定ID
                            item.Header = drTemp["NodeName"].ToString();    //名称  
                            tr.Items.Add(item);
                            item.IsExpanded = true;
                            BindNode(item);
                        }
                    }
                }
            }
            /// <summary>
            /// 遍历所有的子节点
            /// </summary>
            /// <param name="item">父节点的item</param>
            private void BindNode(TreeViewItem item)
            {
                DataRow[] dr = dt.Select("ParentID = '" + item.Tag + "'"); //查询子节点条件
                if (dr.Length > 0)
                    foreach (DataRow drTemp in dr)
                    {
                        TreeViewItem childItem = new TreeViewItem();
                        childItem.Header = drTemp["NodeName"].ToString();
                        childItem.Tag = drTemp["ID"].ToString();
                        //node.ChildNodes.Add(node);
                        item.Items.Add(childItem);
                        item.IsExpanded = true;
                        BindNode(childItem);
                    }
            }
        }

    展开全文
  • 最近公司需要开发一个新项目,是WCF+WPF,服务器有2台,一台数据库服务器MSSQL,一台是用来跑WCF服务程序,客户端程序使用WPF开发winform程序 因为本项目将来会经常性修改WCF程序,比如BUG或新增增删改功能(大家...

    最近公司需要开发一个新项目,是WCF+WPF,服务器有2台,一台数据库服务器MSSQL,一台是用来跑WCF服务程序,客户端程序使用WPF开发winform程序

    因为本项目将来会经常性的修改WCF程序,比如BUG或新增增删改功能(大家一样),但是又不能关闭当前正在使用的WCF服务。。。

    我的解决方案是 使用一个宿主程序来控制一个WCF路由和动态加载/卸载N个WCF服务。

    先来看看宿主界面,如下图:

    宿主程序只包含一个WCF程序,该程序是用来公布后续被加载的WCF的URI地址,当然这个宿主程序的URI一般不会被变更,该服务必须一直开着,上图路由模块就是主入WCF服务的URI。

    下图是加载WCF的DLL的效果图

     -----------------------难看的分割线---------------------

     下面贴主要部分的代码:

                    Assembly MyAssembly = Assembly.LoadFrom("刚才加载的DLL地址");
                    Type[] type = MyAssembly.GetTypes();
                    List<Type> liSe = new List<Type>();


                    //寻找服务接口
                    foreach (Type t in type)
                    {
                        if (t.IsClass)
                        {
                            foreach (Type item in t.GetInterfaces())
                            {
                                foreach (Object obj in item.GetCustomAttributes(true))
                                {
                                    if (obj.ToString().Trim().ToUpper() == "System.ServiceModel.ServiceContractAttribute".ToUpper())
                                    {
                                        liSe.Add(t);
                                        liSe.Add(item);
                                    }
                                }
                            }
                        }
                    }

                    Uri baseAddress = new Uri("Uri地址,可以从文本框地址,注意格式验证");
                    ServiceHost sh2 = new ServiceHost(liSe[0], baseAddress);//class
                    sh2.AddServiceEndpoint(liSe[1], new WSHttpBinding(), liSe[0].Name);//interface
                    ServiceMetadataBehavior smb = new ServiceMetadataBehavior();
                    smb.HttpGetEnabled = true;
                    sh2.Description.Behaviors.Add(smb);
                    sh2.Open();

    ------------------------难看的分割线---------------------------

    上面的查找服务类不是很好,肯定有更好的方法,刚接触WCF。各位大神有方法一定要告诉我哦

    通过上面的  我就可以动态加载WCF的DLL了,未关闭的又可以被客户端继续访问。。。。。。。。

    转载于:https://www.cnblogs.com/weivyuan/archive/2012/06/18/2553760.html

    展开全文
  • 非常普遍,当你用winform 开发时,我们执行过程要花费一定量时间,例如:当你单击查询时,执行一定业务逻辑时,或者从数据库删除实体记录时。  这个可以加入到你界面中帮助你显示进度条: public...

          非常普遍的,当你用winform 开发时,我们的执行过程要花费一定量的时间,例如:当你单击查询时,执行一定的业务逻辑时,或者从数据库删除实体记录时。

          这个类可以加入到你的界面类中帮助你显示进度条:

    public class WaitIndicator : IDisposable
    {
        ProgressForm progressForm;
        Thread thread;
        bool disposed = false; //to avoid redundant call
        public WaitIndicator()
        {
            progressForm = new ProgressForm();
            thread = new Thread(_ => progressForm.ShowDialog());
            thread.Start();
        }
     
        public void Dispose()
        {
            Dispose(true);
        }
     
        protected virtual void Dispose(bool disposing)
        {
            if (!disposed)
            {
                thread.Abort();
                progressForm = null;
            }
            disposed = true;
        }
    }
     
    class ProgressForm : Form
    {
        public ProgressForm()
        {
            ControlBox = false;
            ShowInTaskbar = false;
            StartPosition = FormStartPosition.CenterScreen;
            TopMost = true;
            FormBorderStyle = FormBorderStyle.None;
            var progreassBar = new ProgressBar() { Style = ProgressBarStyle.Marquee, 
                Size = new System.Drawing.Size(200, 20), 
                ForeColor = Color.Orange, MarqueeAnimationSpeed = 40 };
            Size = progreassBar.Size;
            Controls.Add(progreassBar);
        }
    }


    调用方法:

    using (new WaitIndicator())
    {
        //code to process}

    展开全文
  • 在itpub中看到一个c#Winform实现对数据库的操作,可惜很多是写死了,不过这到让我想到了是否可以通过存储过程实现对数据库和表结构操作。有些时候,项目中可能要动态增加表字段,删除表字段,重命名之类的,而...
  • 在itpub中看到一个c#Winform实现对数据库的操作,可惜很多是写死了,不过这到让我想到了是否可以通过存储过程实现对数据库和表结构操作。有些时候,项目中可能要动态增加表字段,删除表字段,重命名之类的,而...
  • 本套教程通过c-s和b-s两种模式讲解,如果没有学过winform开发学员可以通过本套教程补充下winform开发知识,以桌面程序方式实现数据CRUD操作,同时还可以学会一些常用控件使用,特别是树形菜单使用,以及...
  • 只需要通过表创建工具来根据需求创建表,并且生成相对应的类和DLL,然后直接引用到项目中,就把浏览,新增,修改,删除等方法自动生成成功,剩下的就是做一些此项目独特的需求和增加Web界面或者winform界面了. 更简单的如,...
  • [初学VB.NET]数据绑定

    千次阅读 2004-10-27 23:46:00
    是对数据库中记录进行添加、删除、浏览、修改等操作基础。虽然对于不同的WinForm组件,数据绑定方法有所差别,但总体来说,还是大同小异。 在整个数据绑定中,对不同组件可以大致分为二,一是简单型...
  • (C#+SQL)旅游管理系统

    热门讨论 2013-06-25 12:16:27
    (2)编写公共类(连接数据库的类,实体类)。 连接数据库的类及其公共方法: 第2天:(1)设计登录模块界面布局,并进行编码和调试; (2)设计系统主界面,并处理好登录模块与系统主界面之间的跳转关系;  ...
  • 5.2 数据库操作类的封装详解 217 5.2.1 执行命令方法封装 217 5.2.2 查询数据方法封装 220 5.2.3 数据统计方法封装 221 5.2.4 实现SqlParameter方式 222 5.2.5 实现多数据库的访问 223 5.3 常用经典SQL语句 ...
  •  《Visual C++开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用实例,是目前市场上实例最全面开发图书;书中实例来源于多位工程师多年积累,具有很强实用性。 本书是第I卷,以...
  •  《Visual C++开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用实例,是目前市场上实例最全面开发图书;书中实例来源于多位工程师多年积累,具有很强实用性。 本书是第I卷,以...
  •  《Visual C++开发实战1200例》分为I、II两卷共计1200个例子,包括了开发中各个方面最常用实例,是目前市场上实例最全面开发图书;书中实例来源于多位工程师多年积累,具有很强实用性。 本书是第I卷,以...
  • asp.net知识库

    2015-06-18 08:45:45
    简单实用的DataSet更新数据库的类+总结 [ADO.NET]由数据库触发器引发的问题 为ASP.NET封装的SQL数据库访问类 DataTable.Select方法的性能问题 .NET 2.0里使用强类型数据创建多层应用 ADO.NET实用经验无保留曝光 有了...
  • 实例120 通过类的多态性确定人类说话 行为 147 5.4 迭代器和分部类的使用 149 实例121 使用迭代器显示公交车站点 149 实例122 使用迭代器实现倒序遍历 150 实例123 使用迭代器实现文字动态效果 151 实例124 使用...
  •  实例120 通过类的多态性确定人类说话行为 147 5.4 迭代器和分部类的使用 149  实例121 使用迭代器显示公交车站点 149  实例122 使用迭代器实现倒序遍历 150  实例123 使用迭代器实现文字动态效果 151 ...
  • 2.8.2 在框架中获得当前文档和视图对象指针 101 2.8.3 获得应用程序对象指针 101 2.8.4 从应用对象中获得主框架对象指针 101 2.9 小结 102 第3章 Visual C++ 2010 MFC菜单编程 103 3.1 菜单编程 ...
  • 2.8.2 在框架中获得当前文档和视图对象指针 101 2.8.3 获得应用程序对象指针 101 2.8.4 从应用对象中获得主框架对象指针 101 2.9 小结 102 第3章 Visual C++ 2010 MFC菜单编程 103 3.1 菜单编程 ...
  • 2.8.2 在框架中获得当前文档和视图对象指针 101 2.8.3 获得应用程序对象指针 101 2.8.4 从应用对象中获得主框架对象指针 101 2.9 小结 102 第3章 Visual C++ 2010 MFC菜单编程 103 3.1 菜单编程 ...

空空如也

空空如也

1 2
收藏数 24
精华内容 9
关键字:

winform数据库删除的类