【跪求】为什么小弟我的C#程序连接数据库编译的时候必须关闭SQL Server进程才能编译成功,而运行程序时必须要打开SQL Server进程才能使用

【跪求】为什么我的C#程序连接数据库编译的时候必须关闭SQL Server进程才能编译成功,而运行程序时必须要打开SQL Server进程才能使用?
本帖最后由 lizheren_1992 于 2014-04-09 20:45:06 编辑
我是学生党,刚开始学C#,要做一个数据管理系统。我的C#程序连接数据库编译的时候必须关闭SQL Server进程才能编译成功,而运行程序时必须要打开SQL Server进程才能使用。而如果我同时使用SQL Server登陆时,编译时就显示“正由另一进程使用相关数据库文件,无法访问”。

跪求解决办法,怎样能同时在访问SQL Serrver时也能编译成功?

登陆界面的相关代码:


DBOperate operate = new DBOperate();
        private void btn_Login_Click(object sender, EventArgs e)
        {
           try
            {
                if (txt_UserName.Text == "" || txt_Password.Text == "")
                {
                    MessageBox.Show("用户名或密码不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    return;
                }
                else
                {
                    string name = txt_UserName.Text.Trim();         //获取登录名
                    string pwd = txt_Password.Text.Trim();          //获取登录密码
                    SqlConnection conn = db_TaiWanWeaponClass.DBConnection.MyConnection();
                    conn.Open();                                    //打开数据库连接
                    //实例化SqlCommand对象
                    SqlCommand cmd = new SqlCommand("select * from tb_UserControl where Name='"+ txt_UserName.Text.ToString()
                        + "' and Password='" + txt_Password.Text.ToString() + "'", conn);
                    //使用ExecuteReader方法实例化SqlDataReader对象
                    SqlDataReader sdr = cmd.ExecuteReader();
                    sdr.Read();                                     //通过Read方法读取记录集
                    //通过HasRows属性判断是否存在登陆的用户名和密码
                    if (sdr.HasRows)
                    {
                        string time = DateTime.Now.ToString();      //获取当前登录时间
                        string sql = "update tb_UserControl set LoginTime=" + time + "where Name=" + name + "";
                        //调用OperateData方法执行SQL语句
                        operate.OperateData(sql);
                        conn.Close();                               //关闭连接
                        this.Hide();                                //隐藏登录窗口