在好例子网,分享、交流、成长!
您当前所在位置:首页C# 开发实例C#数据库操作 → C#读取数据库中表结构实例源码下载

C#读取数据库中表结构实例源码下载

C#数据库操作

下载此实例
  • 开发语言:C#
  • 实例大小:1.50M
  • 下载次数:65
  • 浏览次数:2917
  • 发布时间:2013-01-25
  • 实例类别:C#数据库操作
  • 发 布 人:chaogu
  • 所需积分:2
 相关标签: 数据库

实例介绍

【实例简介】读取数据库中表结构实例
【实例截图】


【核心代码】

    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            SQLDMO.Application SQLServer = new SQLDMO.Application();
            SQLDMO.NameList strServerList = SQLServer.ListAvailableSQLServers();
            if (strServerList.Count > 0)
            {
                for (int i = 0; i < strServerList.Count; i  )
                {
                    toolStripTextBox1.Items.Add(strServerList.Item(i   1));
                }
            }
            toolStripTextBox1.Text = "(local)";
            comboBox2.SelectedIndex = 0;
            toolStripTextBox3.TextBox.PasswordChar = '*';
        }

        private void toolStripTextBox2_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
                toolStripTextBox3.Focus();
        }

        private void toolStripTextBox3_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (e.KeyChar == 13)
                toolStripButton1_Click(sender, e);
        }

        private void toolStripButton1_Click(object sender, EventArgs e)
        {
            try
            {
                string str = "Data Source="   toolStripTextBox1.Text   ";database=master;Uid="   toolStripTextBox2.Text   ";Pwd="   toolStripTextBox3.Text   ";";
                comboBox1.DataSource = getTable(str, "select name from sysdatabases", "sysdatabases");
                comboBox1.DisplayMember = "name";
                comboBox1.ValueMember = "name";
                button1.Enabled = button2.Enabled = button3.Enabled = true;
            }
            catch { }
        }

        private void button3_Click(object sender, EventArgs e)
        {
            if (comboBox1.Text != "")
            {
                listBox1.DataSource = null;
                listBox1.Items.Clear();
                string strCon = "Data Source="   toolStripTextBox1.Text   ";DataBase="   comboBox1.Text   ";uid="   toolStripTextBox2.Text   ";pwd="   toolStripTextBox3.Text;
                DataTable dt = null;
                if (comboBox2.Text == "数据表")
                {
                    dt = getTable(strCon, "SELECT name FROM sysobjects WHERE type = 'U' and name<>'dtproperties'", "sysobjects");
                }
                else if (comboBox2.Text == "视图")
                {
                    dt = getTable(strCon, "select name from sysobjects where xtype='v'", "sysobjects");
                }
                else if (comboBox2.Text == "存储过程")
                {
                    dt = getTable(strCon, "SELECT name FROM sysobjects WHERE xtype='p'", "sysobjects");
                }
                listBox1.DataSource = dt.DefaultView;
                listBox1.DisplayMember = "name";
            }
        }

        private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                string strTableName = listBox1.SelectedValue.ToString();
                string strCon = "Data Source="   toolStripTextBox1.Text   ";DataBase="   comboBox1.Text   ";uid="   toolStripTextBox2.Text   ";pwd="   toolStripTextBox3.Text;
                using (SqlConnection con = new SqlConnection(strCon))
                {
                    string strSql = "select  name 字段名, xusertype 类型编号, length 长度 into hy_Linshibiao from  syscolumns  where id=object_id('"   listBox1.Text   "') ";
                    strSql  = "select name 类型,xusertype 类型编号 into angel_Linshibiao from systypes where xusertype in (select xusertype from syscolumns where id=object_id('"   listBox1.Text   "'))";
                    con.Open();
                    SqlCommand cmd = new SqlCommand(strSql, con);
                    cmd.ExecuteNonQuery();
                    SqlDataAdapter da = new SqlDataAdapter("select 字段名,类型,长度 from hy_Linshibiao t,angel_Linshibiao b where t.类型编号=b.类型编号", con);
                    DataTable dt = new DataTable();
                    da.Fill(dt);
                    dataGridView1.DataSource = dt.DefaultView;
                    SqlCommand cmdnew = new SqlCommand("drop table hy_Linshibiao,angel_Linshibiao", con);
                    cmdnew.ExecuteNonQuery();
                    con.Close();
                }
            }
            catch { }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndices.Count > 0)
            {
                frmDataExport dataexport = new frmDataExport();
                dataexport.OutData = comboBox1.Text;
                dataexport.OutTable = listBox1.Text;
                dataexport.strserver = toolStripTextBox1.Text;
                dataexport.struser = toolStripTextBox2.Text;
                dataexport.strpwd = toolStripTextBox3.Text;
                dataexport.ShowDialog();
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            if (listBox1.SelectedIndices.Count > 0)
            {
                frmOutData outdata = new frmOutData();
                outdata.OutData = comboBox1.Text;
                outdata.OutTable = listBox1.Text;
                outdata.strserver = toolStripTextBox1.Text;
                outdata.struser = toolStripTextBox2.Text;
                outdata.strpwd = toolStripTextBox3.Text;
                outdata.ShowDialog();
            }
        }

        private void toolStripButton2_Click(object sender, EventArgs e)
        {
            Application.Exit();
        }

        private DataTable getTable(string strCon, string strSql, string strTable)
        {
            try
            {
                SqlConnection sqlcon = new SqlConnection(strCon);
                SqlDataAdapter da = new SqlDataAdapter(strSql, sqlcon);
                DataTable dt = new DataTable(strTable);
                da.Fill(dt);
                return dt;
            }
            catch
            {
                return null;
            }
        }
    }

标签: 数据库

实例下载地址

C#读取数据库中表结构实例源码下载

不能下载?内容有错? 点击这里报错 + 投诉 + 提问

好例子网口号:伸出你的我的手 — 分享

网友评论

第 1 楼 qiong 发表于: 2015-07-17 17:08 54

支持(0) 盖楼(回复)

第 2 楼 liaowei5684 发表于: 2015-12-27 15:12 12
很好的例程,谢谢

支持(0) 盖楼(回复)

第 3 楼 liaowei5684 发表于: 2015-12-27 16:32 21
为什么运行通不过?

支持(0) 盖楼(回复)

第 4 楼 crazycode 发表于: 2015-12-30 16:43 55
为什么运行通不过?

liaowei5684 2015-12-27 16:32 21

本机没装数据库?

支持(0) 盖楼(回复)

第 5 楼 FuChuan7 发表于: 2016-05-26 20:18 25
很好的例程,谢谢

支持(0) 盖楼(回复)

第 6 楼 FuChuan7 发表于: 2016-05-26 20:18 27
很好的例程,谢谢

支持(0) 盖楼(回复)

第 7 楼 uyghwfnwxf 发表于: 2016-09-12 15:11 25
很好的实例,不错

支持(0) 盖楼(回复)

第 8 楼 uyghwfnwxf 发表于: 2016-09-12 15:11 29
很好的实例,不错

支持(0) 盖楼(回复)

第 9 楼 金豆 发表于: 2016-12-04 10:53 21
有借鉴意义,收藏了。

支持(0) 盖楼(回复)

第 10 楼 sw12bnju 发表于: 2016-12-20 14:42 32
很好例子,有帮助

支持(0) 盖楼(回复)

第 11 楼 jinjie 发表于: 2016-12-22 16:49 09
打不开啊

支持(0) 盖楼(回复)

发表评论

(您的评论需要经过审核才能显示)

查看所有11条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
;
报警