用C#做的连接Sql Server数据库

时间:2021-04-13 13:36:50
 private void button1_Click(object sender, EventArgs e)
        {//采用windows身份验证登录
         //ConnectionString 连接的字符串
         //Data Source表示服务器的名称,
         //Initial Catalog表示数据库 名称
         //Integrated Security=True表示采用windows身份登录
         //SqlConnection包含了连接连接数据库的字符串
         //定义ConnnectionString字符串
         //  string ConnectionString = @"provider=Microsoft.ACE.OLEDB.12.0;Data Source=F:\Student.accdb";
         string ConnectionString = "Data Source.; Initial Catalog=student; Integrated Security=True;";
            
            SqlConnection conn = new SqlConnection(ConnectionString);//创建SqlConnection对象,ConnectionString表示连接的字符串
            string strSql= "Select * from dbo.s_admin where name='"+textBox1.Text.Trim()+"'+password='"+textBox2.Text.Trim()+"'";//定义sql语句
            SqlCommand command = new SqlCommand(strSql, conn);//创建SqlConnection对象,并调用构造函数,strSql表示查询字符串,conn表示连接对象名
            conn.Open();//打开数据库
            //调用SqlCommand对象的ExecuteReader()方法,创建SqlDataReader对象,执行select语句或有返回结果的存储过程
            SqlDataReader sqlDataReader = command.ExecuteReader();//将返回的结果集存放到sqlDataReader对象中
            try
            {
                if (sqlDataReader.HasRows == true)//判断是否有返回行
                {
                    MessageBox.Show("登录成功");
                    MainStudent mainStudent = new MainStudent();//创建MainStudent对象
                    mainStudent.Show();//显示主界面
                    this.Hide();//this代表当前对象,隐藏本窗口
                }
                else
                {
                    MessageBox.Show("账号或者密码错误");
                }
            }
            catch(Exception ex)//捕获异常
            {
                MessageBox.Show("数据集操作异常" + ex.StackTrace.ToString());
            }
            finally
            {
                sqlDataReader.Close();//关闭数据库的连接,SqlDataReader是以独占方法使用SqlConnection对象,必须调用Close()方法断开与SqlConnnection对象
                conn.Close();//关闭与数据库的连接
            }


        }
    }
}