【9.28】打卡

来源:互联网 发布:python高级编程最新版 编辑:程序博客网 时间:2024/05/17 04:39

【9.28】

C#:一个小时

文档名称:E:\C#!\数据库管理主窗体

【1】:添加SQLDMO引用。然后创建Applicationg实例对象,获取所有服务器的名字。然后使用for循环,将所有的服务器的名字,添加到comboBox1中。可以从数据库中读取数据表、视图、存储过程3个方面。

【2】:在连接按钮上,添加click事件。通过try,catch连接数据库,在连接中,可以通过系统数据库Master的sp_helpdb存储过程动态获取所有的数据库名称。具体的步骤如下:

首先,创建sqlConnection,其中server名称,用户名,密码,都从框中读取;打开数据库连接;

然后,if语句,确认是否连接成功。如果连接成功,在StatusStrip消息栏中显示连接成功;

然后,创建一个sqlCommand的对象实例,并且调用sp_helpdb存储过程;

然后,创建一个sqlDataAdapter实例,在sqlCommand实例的基础上。利用sqlDataAdapter,通过循环再将数据库的名字,也全部添加到comboBox2中。

最后,将所有的comboBox都设定一个默认值,关闭sqlDataAdapter对象,释放sqlCommand占用的内存空间

【3】:catch中写入关闭数据库连接的代码;

【4】:try,catch语句后,一定要加上一个关闭数据库连接的代码;


     

private void Form1_Load(object sender, EventArgs e)        {            SQLDMO.Application mySQLServer = new SQLDMO.Application();            //创建Application实例对象            SQLDMO.NameList myServerList = mySQLServer.ListAvailableSQLServers();            //调用ListAvailableSQLServers方法获取所有SQL Server服务器名            if(myServerList.Count>0)            {                for (int x = 0; x < myServerList.Count; x++)                    comboBox1.Items.Add(myServerList.Item(x+1));                }            comboBox1.SelectedIndex = 0;            comboBox3.Items.Add("数据表");            comboBox3.Items.Add("视图");            comboBox3.Items.Add("存储过程");        }        private void button1_Click(object sender, EventArgs e)        {            try            {                comboBox2.Items.Clear();                SqlConnection myConn = new SqlConnection("Server=" + comboBox1.Text.Trim() + ";DataBase=master;uid=" + textBox1.Text.Trim() + ";password=" + textBox2.Text.Trim());                myConn.Open();                if (myConn.State == ConnectionState.Open)                {                    toolStripStatusLabel1.Text = "成功连接数据库";                    SqlCommand myComm = new SqlCommand("sp_helpdb", myConn);                    //定义Sqlcommand对象实例,并调用sp_helpdb存储过程                    SqlDataReader myRead = myComm.ExecuteReader();                    //创建SqlDataReader对象实例                    while (myRead.Read())                        comboBox2.Items.Add(myRead[0].ToString());                    comboBox2.SelectedIndex = 0;                    //选中第一项数据库名                    myRead.Close();                    //关闭SqlDataReader对象                    myComm.Dispose();                    //释放Sqlcommand对象实例占用的内存空间                }                else                    myConn.Close();                myConn.Close();                comboBox3.SelectedIndex = 0;            }            catch            {                button1_Click(sender, e);            }        }


0 0
原创粉丝点击