操作数据库的几个主要的函数如下:using System;
using System.Collections.Generic;
using System.Text;
using System.Data.SqlClient;
using System.Data;
using System.Windows.Forms;
using System.IO;
namespace LightCtrlApp
{
    class SqlConn : IDisposable
    {
        #region   代码中用到的变量
        SqlDataAdapter G_Da;    //声明数据适配器对象
        DataSet G_Ds;           //声明数据集对象
        SqlCommand G_Com;
        SqlConnection G_Con;  //声明链接对象
        #endregion        #region  构造函数及释放连接
        /// <summary>
        /// 构造函数
        /// </summary>
        public SqlConn()
        {        }
        //释放连接
        public void Dispose()
        {
            //强制对零代到指定代进行垃圾回收
            GC.Collect();
        }
        #endregion
        #region   连接数据库
        /// <summary>
        /// 连接数据库
        /// </summary>
        /// <returns></returns>
        public SqlConnection GetCon()
        {
            try
            {
                string configFile = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), "参数配置.xml");
                if (File.Exists(configFile))
                {
                    XmlOperator xmlOperator = new XmlOperator(configFile);
                    int size = xmlOperator.GetXmlReader().Length;
                    string[] getDataBaseInfo = new string[size];                    for (int i = 0; i < size; i++)
                    {
                        getDataBaseInfo[i] = xmlOperator.GetXmlReader()[i];
                    }
                    string G_Str_ConnectionString = "Server=" + getDataBaseInfo[0];
                    G_Str_ConnectionString += ";user id=" + getDataBaseInfo[1];
                    G_Str_ConnectionString += ";password=" + getDataBaseInfo[2];
                    G_Str_ConnectionString += ";initial catalog=" + getDataBaseInfo[3] + ";Connect Timeout=20";                    G_Con = new SqlConnection(G_Str_ConnectionString);
                    G_Con.Open();
                }
                else
                {
                    MessageBox.Show("不存在配置文件,请添加!");
                    Application.Exit();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("数据库打开失败,错误原因:" + ex.Message.ToString());
            }
            return G_Con;
        }        /// <summary>
        /// 执行SQL语句
        /// </summary>
        /// <param name="cmdtxt">要执行的SQL语句</param>
        /// <returns></returns>
        public bool GetExecute(string cmdtxt)
        {
            G_Com = new SqlCommand(cmdtxt, GetCon());
            try
            {
                G_Com.ExecuteNonQuery();
                return true;
            }
            catch (Exception ex)
            {
                MessageBox.Show("错误:" + ex.Message.ToString());
                return false;
            }
            finally
            {
                if (GetCon().State == ConnectionState.Open)
                {
                    GetCon().Close();
                    this.Dispose();
                }
            }
        }        #endregion        #region   返回数据
        /// <summary>
        /// 返回数据集类型
        /// </summary>
        /// <param name="cmdtxt">需要查询的SQL语句</param>
        /// <returns></returns>
        public DataSet GetDs(string cmdtxt, string table)
        {
            try
            {
                G_Da = new SqlDataAdapter(cmdtxt, GetCon());
                G_Ds = new DataSet();
                G_Da.Fill(G_Ds, table);
                return G_Ds;
            }
            catch (Exception ex)
            {
                MessageBox.Show("错误:" + ex.Message.ToString());
                return null;
            }
            finally
            {
                if (GetCon().State == ConnectionState.Open)
                {
                    GetCon().Close();
                    this.Dispose();
                }
            }
        }        /// <summary>
        /// 返回数据表
        /// </summary>
        /// <param name="cmdtxt"></param>
        /// <param name="tablename"></param>
        /// <returns></returns>
        public DataTable GetTable(string cmdtxt, string tablename)
        {
            DataTable P_tbl;   //声明一个DataTable对象
            try
            {
                G_Da = new SqlDataAdapter(cmdtxt, tablename);
                P_tbl = new DataTable(tablename);
                G_Da.Fill(P_tbl);   //将表中对象放入P_tbl中
                return P_tbl;
            }
            catch (Exception ex)
            {
                MessageBox.Show("错误:" + ex.Message.ToString());
                return null;
            }
            finally
            {
                if (GetCon().State == ConnectionState.Open)
                {
                    GetCon().Close();
                    this.Dispose();
                }
            }
        }        /// <summary>
        /// 返回SqlDataReader类型数据
        /// </summary>
        /// <param name="cmdtxt">要执行的SQL语句</param>
        /// <returns></returns>
        public SqlDataReader GetReader(string cmdtxt)
        {
            G_Com = new SqlCommand(cmdtxt, GetCon());  //声明SqlCommand对象
            SqlDataReader P_Dr;
            try
            {
                P_Dr = G_Com.ExecuteReader();
                return P_Dr;
            }
            catch (Exception ex)
            {
                MessageBox.Show("错误:" + ex.Message.ToString());
                return null;
            }
            finally
            {
                if (GetCon().State == ConnectionState.Open)
                {
                    GetCon().Close();
                    this.Dispose();
                }
            }
        }        /// <summary>
        /// 返回数据库的存储过程
        /// </summary>
        /// <param name="cmdtxt">要返回数据库的存储过程</param>
        /// <returns></returns>
        public DataSet GetProcedure(string cmdtxt)
        {
            try
            {
                G_Da = new SqlDataAdapter(cmdtxt, GetCon());
                G_Ds = new DataSet();
                G_Da.Fill(G_Ds);
                return G_Ds;
            }
            catch (Exception ex)
            {
                MessageBox.Show("错误:" + ex.Message.ToString());
                return null;
            }
            finally
            {
                if (GetCon().State == ConnectionState.Open)
                {
                    GetCon().Close();
                    GetCon().Dispose();
                }
            }
        }
        #endregion
    }
}总觉得程序启动特别的慢,
因为要搜索局域网的IP地址。
所以在这想请问各位高手有什么方法能够快速的找到数据库所在的PC的IP地址???
望高手们提供优质的代码!