ADO.NET_SSMS模拟

Form1.cs:

 public Form1()
        {
            InitializeComponent();
        }
        string connStr;
        public Form1(string serverInfo):this()
        {
            // 将节点加到TreeView中
            string[] temps = serverInfo.Split('#');
            // 实例名(数据库版本 - 用户)
            TreeNode tnRoot = tvObjectSource.Nodes.Add(temps[0] + "(SQL Server 12.5.123 - jiangkun)" );
            connStr = temps[1];
            // 将数据库节点加载进来
            TreeNode tnDataBase = tnRoot.Nodes.Add("数据库");
            // 系统数据库和其他数据库
            TreeNode tnSysDB = tnDataBase.Nodes.Add("系统数据库");
            tnSysDB.Nodes.Add("master");
            tnSysDB.Nodes.Add("model");
            tnSysDB.Nodes.Add("msdb");
            tnSysDB.Nodes.Add("tempdb");


            // string connStr = @"server=.\sqlexpress;database=master;uid=sa;pwd=123;";
            // 加用户数据库
            using (SqlConnection conn = new SqlConnection(connStr))
            {
                using (SqlCommand cmd = new SqlCommand("select name, database_id from sys.databases where database_id>4;", conn))
                {
                    conn.Open();
                    using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            tnDataBase.Nodes.Add(reader[0].ToString());
                        }
                    }
                }
            }


        }



LoginForm.cs:

 public partial class LoginForm : Form
    {
        public string ServerInfo
        {
            get { return server + "#" + connStr; }
        }


        public LoginForm()
        {
            InitializeComponent();
        }


        private void LoginForm_Load(object sender, EventArgs e)
        {
            // 默认选中Windows身份验证,和切换验证时,启用文本框输入密码等
            cmbSecurityType.SelectedIndex = 0;


            ChangeEnable(false);
        }


        private void ChangeEnable(bool isTrue)
        {
            lbPwd.Enabled = isTrue;
            lbUid.Enabled = isTrue;
            txtUid.Enabled = isTrue;
            txtPwd.Enabled = isTrue;
        }


        private void cmbSecurityType_SelectedIndexChanged(object sender, EventArgs e)
        {
            ChangeEnable(cmbSecurityType.SelectedIndex == 1);
        }
        string server;
        string connStr;
        private void btnLogin_Click(object sender, EventArgs e)
        {
            // 设定窗体的DialogResult返回值
            // 验证是否登录成功,Open
            // 拼接连接字符串
            server = txtServer.Text.Trim();
            string database = "master";
            string uid = txtUid.Text;
            string pwd = txtPwd.Text;
            string security = cmbSecurityType.SelectedIndex == 0 ?
                "integrated security = true;"
                : string.Format("uid={0};pwd={1};", uid, pwd);


            connStr = string.Format("server={0}; database={1};{2}", server, database, security);


            // MessageBox.Show(connStr);
            using (SqlConnection conn = new SqlConnection(connStr))
            {
                try
                {
                    conn.Open();
                    this.DialogResult = System.Windows.Forms.DialogResult.OK;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }


            //this.DialogResult = System.Windows.Forms.DialogResult.OK;
        }


        private void btnCancel_Click(object sender, EventArgs e)
        {
            this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
        }
    }



Program.cs:

 static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);




            LoginForm lf = new LoginForm();
            if (lf.ShowDialog() == DialogResult.OK)
            {
                Application.Run(new Form1(lf.ServerInfo));
            }
            
        }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值