zoukankan      html  css  js  c++  java
  • C#使用DataSet类、DataTable类、DataRow类、OleDbConnection类、OleDbDataAdapter类编写简单数据库应用

    //注意:请使用VS2010打开以下的源代码。
    //源代码地址:http://pan.baidu.com/s/1j9WVR
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.OleDb;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    namespace WindowsFormsApplication22
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            OleDbConnection connection;
            OleDbDataAdapter command;
            DataSet dataSet;
            DataTable table;
    
            OleDbCommandBuilder builder;
    
            private void Form1_Load(object sender, EventArgs e)
            {
                //增加年龄数据(1~100)
                List<string> AgeList = new List<string>();
                for (int i = 0; i < 100; i++)
                {
                    AgeList.Add((i + 1).ToString());
                }
                string [] AgeArray = AgeList.ToArray();
                comboBox1.Items.AddRange(AgeArray);
                comboBox1.Text = "20";
    
                //查找数据库
                connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Info.mdb;");
                command = new OleDbDataAdapter("Select * From Information", connection);
                dataSet = new DataSet("Info");
                command.Fill(dataSet, "Information");
    
                builder = new OleDbCommandBuilder(command);
    
                //显示数据库
                table = dataSet.Tables["Information"];
                dataGridView1.DataSource = table;
            }
    
            private void textBox1_TextChanged(object sender, EventArgs e)
            {
                char[] tempChars = textBox1.Text.Trim().ToArray();
                List<char> validChars= new List<char>();
    
                for (int i=0;i<tempChars.Length;i++)
                {
                    if(!char.IsNumber(tempChars[i]))
                    {
                        tempChars=validChars.ToArray();
                        textBox1.Text = new string(tempChars);
                        textBox1.SelectionStart = textBox1.Text.Length;
                        break;
                    }
                    else
                    {
                        validChars.Add(tempChars[i]);
                    }
                }
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                try
                {
                    if (textBox1.Text.Trim() == "")
                    {
                        throw new Exception("身份识别码不能空!");
                    }
                    else if(textBox1.Text.Trim().Length<6)
                    {
                        throw new Exception("身份识别码不能小于6位!");
                    }
    
                    //检查是否有身份识别码重复的
                    for (int i = 0; i < table.Rows.Count; i++)
                    {
                        if ((string)table.Rows[i]["ID"] == textBox1.Text.Trim())
                        {
                            throw new Exception("已经存在" + textBox1.Text.Trim() + ",请勿重复添加!");
                        }
                    }
    
                    //添加操作
                    DataRow row = table.NewRow();
                    row["ID"] = textBox1.Text.Trim();
                    row["Name"] = textBox2.Text.Trim();
                    row["Age"] = comboBox1.Text;
                    if (radioButton1.Checked == true)
                    {
                        row["Gender"] = "";
                    }
                    else
                    {
                        row["Gender"] = "";
                    }
                    table.Rows.Add(row);
    
    
                    command.Update(dataSet, "Information");
                    dataGridView1.DataSource = table;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
    
            private void button3_Click(object sender, EventArgs e)
            {
                try
                {
                    //删除操作
                    if (dataGridView1.CurrentCell == null)
                    {
                        throw new Exception("无任何内容可删!");
                    }
    
                    if (dataGridView1.CurrentCell.RowIndex != -1)
                    {
                        table.Rows[dataGridView1.CurrentCell.RowIndex].Delete();
                    }
                    else
                    {
                        throw new Exception("未在表格内选择任一个单元格!");
                    }
    
                    command.Update(dataSet, "Information");
                    dataGridView1.DataSource = table;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
    
            }
    
            private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
            {
                //表格上的内容填至相应的文本框等控件
                textBox1.Text =(string) dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["ID"].Value;
                textBox2.Text = (string)dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["Name"].Value;
                comboBox1.Text=(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["Age"].Value).ToString();
                if ((string)dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells["Gender"].Value == "")
                {
                    radioButton1.Checked = true;
                }
                else
                {
                    radioButton2.Checked = true;
                }
            }
    
            private void textBox1_MouseClick(object sender, MouseEventArgs e)
            {
                textBox1.SelectAll();
            }
    
            private void textBox2_MouseClick(object sender, MouseEventArgs e)
            {
                textBox2.SelectAll();
            }
    
        }
    }

    运行结果:

  • 相关阅读:
    Chrome滚动条透明的问题
    JavaScript版的简单动画
    关于AS3的事件移除释疑
    JavaScript的Hook
    JavaScript正则表达式的零宽断言
    webgame开发中的文件解密
    GMIC2011:熊俊谈从数据看iOS移动应用开发
    世上最伟大的十个公式
    OS X Lion 正式版制作安装盘全新安装方法说明
    市面上VB.NET的书比较少,推荐一本,下载地址在下面!
  • 原文地址:https://www.cnblogs.com/cncc/p/3440620.html
Copyright © 2011-2022 走看看