原创:VS2005开发的一些实用经验一(VB.NET--WINFORM)

Posted on 2008-05-31 11:49  蓝箭GZ  阅读(948)  评论(1编辑  收藏  举报

        VS2005提供了强大的功能,很多控件提供,只要合理使用,结合简单的代码编程,就会快速地开发出实用的信息管理系统。
        我一直编程的目标都是,用简单的手工代码编写,实现功能强大的功能,又要代码写得小,又要控制灵活,将纯控件编程与手写编程结合是最好的实现方法。

    VS2005的工具箱中很多控件无加入,自已可以通过[工具箱\选择项]的方式加入更多的功能,也可以通过[工程\添加引用...],加入一些不常用,又好实用的控件或类,如System.Windows.Forms和microsoft.Reportviewer.WinForms(生成打印报表用的)

以下是一些在VB.NET开发中实用的经验,参考:


1、灵活连接DataGridView:(以连接mdb文件为例)
(1)、拖放一个控件OleDbDataAdapter到设计表单,设置里面的SQL语句,一 般设为“SELECT * FROM 表名”就可以了,它就会动生成一个OleDbDataAdapter1和一个连接OleDbConnection1,再拖放一个DataSet控件,选择“非类型化数据集”,就会生成一个空的DataSet1。

(2)、DataGridView的数据全绑定:
    form_load事件中输入简单的几行代码:
            
            OleDbConnection1.Open()       '打开连接
            OleDbDataAdapter1.Fill(DataSet3, "表名")         '填充“表”中数据进数据集
            DataGridView1.DataSource = DataSet1            '绑定数据源
            DataGridView1.DataMember = "表名"                '绑定表名
            。。。。。。
            OleDbConnection1.Close()        '关闭连接

(3)、只显示有用的几列数据:
            DataSet1.Clear()                   '每次填充前要先清空,否则会追加
            OleDbConnection1.Open()       '打开连接
            OleDbDataAdapter1.Fill(DataSet3, "表名")         '填充“表”中数据进数据集
            DataGridView1.DataSource = DataSet1            '绑定数据源
            DataGridView1.DataMember = "表名"                '绑定表名
               
            DataGridView1.DefaultCellStyle.WrapMode = DataGridViewTriState.True     '列中数据太长自动换行

            DataGridView1.Columns(0).Visible = False        '不显示
            DataGridView1.Columns(1).Visible = False        '不显示
            DataGridView1.Columns(2).HeaderText = "故障现象"
            DataGridView1.Columns(2).Width = 300            '设置列宽
            DataGridView1.Columns(2).DefaultCellStyle.WrapMode = DataGridViewTriState.True
            DataGridView1.Columns(3).HeaderText = "报障日期"
            DataGridView1.Columns(3).Width = 100
            DataGridView1.Columns(4).Visible = False
            DataGridView1.Columns(5).HeaderText = "维修报告"



            OleDbConnection1.Close()        '关闭连接
            
(4)、动态查询:
            DataSet1.Clear()                   '每次填充前要先清空,否则会追加
            OleDbConnection1.Open()       '打开连接
                       
            Dim mysql As String
            mysql = "select * from company"                '自已写查询条件
            mysql = mysql + " where comp_name like '%" & Trim(TextBox1.Text)
            OleDbDataAdapter1.SelectCommand.CommandText = mysql            '替换OleDbDataAdapter1中的查询语句

            OleDbDataAdapter1.Fill(DataSet1, "表名")         '填充“表”中数据进数据集
            DataGridView1.DataSource = DataSet1            '绑定数据源
            DataGridView1.DataMember = "表名"                '绑定表名
            OleDbConnection1.Close()        '关闭连接

        
(5)、多表查询填充DataSet1,并将结果绑定到DataGridView1
            DataSet1.Clear()                   '每次填充前要先清空,否则会追加
            OleDbConnection1.Open() 
            Dim mysql As String
            mysql="select main_id,comp_name,comp_address,comp_phone,comp_linkman,equi_name,equi_type,equi_configure"
            mysql=mysql+",main_trouble,main_bzdate,main_stdate,main_wcdate,main_report,main_username2"
            mysql = mysql + ",main_price,main_memo from"
            mysql = mysql + " company as a,equipment as b,maintain as c where b.comp_id=a.comp_id and c.equi_id=b.equi_id and main_id=" & myid


            OleDbDataAdapter1.SelectCommand.CommandText = mysql
      

            OleDbDataAdapter1.Fill(DataSet1, "任意名称的表名")
            DataGridView1.DataSource = DataSet1            '绑定数据源
            DataGridView1.DataMember = "表名"                '绑定表名
            OleDbConnection1.Close()        '关闭连接

Copyright © 2024 蓝箭GZ
Powered by .NET 8.0 on Kubernetes