1、在配置文件中添加连接字符串

首先在配置文件中的<configuration>中加入数据库连接字符串,配置文件后缀为.config,例如:App.config

<connectionStrings>
        <add name="你给此条链接起的名字,随便起,访问的时候可以用。比如:AAA" connectionString="Data Source=你的服务器地址;Initial Catalog=你要连接的数据库名字;Persist Security Info=True;User ID=数据库用户名;Password=数据库密码" providerName="System.Data.SqlClient" />
    </connectionStrings>

 

 

2、新建一个帮助类 

如果你只有一个类库,那就直接在你的类库新建一个类,名为“DBHelper”(随意起),如果你用三层,那就还有一个BLL业务逻辑层和一个DAL数据访问层,把DBHelper类放在DAL数据访问层中.

C#中的数据库访问类DBHelper_数据

3、在帮助类中添加代码

1、定义一个变量获取配置文件中的数据库连接字符串

string cnotallow= ConfigurationManager.ConnectionStrings["你刚刚自定义的AAA"].ConnectionString.ToString();

 2、开始写你需要的方法,举例两个最基本的最常用的

//执行增、删、改的方法:ExecuteNonQuery,返回受影响的行数
        public int ExecuteNonQuery(string sql, params SqlParameter[] pms)
        {
            using (SqlConnection conn = new SqlConnection(connstr))
            {
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    if (pms != null)
                    {
                        cmd.Parameters.AddRange(pms);
                    }
                    conn.Open();
                    return cmd.ExecuteNonQuery();
                }
            }
        }
        //将查出的数据装到table里,返回一个DataTable
        public DataTable GetDatatableData(string sql, params SqlParameter[] pms)
        {
            DataTable dt = new DataTable();

            using (SqlDataAdapter adapter = new SqlDataAdapter(sql, connstr))
            {
                if (pms != null)
                {
                    adapter.SelectCommand.Parameters.AddRange(pms);
                }
                adapter.Fill(dt);
            }
            return dt;
        }

做一个讲解,params SqlParameter[] pms是用来接收SqlParameter传来的参数的,也可以只传一个sql语句,也可以参数化,建议是参数化防止被SQL注入

4、调用方法

//首先实例化DBHelper
        DBHelper dbhelper = new DBHelper();
        //定义一个查询的方法
        public void GetStuName()
        {
            string stuid = "12345";//可以是从别的地方获取到的id
            //定义SQL语句,这里用SqlParameter参数化防止sql注入,比较安全
            //注意:使用SqlParameter需要using System.Data.SqlClient;
            string sql = "select StuId,StuName,StuSex,StuAge from Student where StuId =@ID";
            SqlParameter[] ps =
            {
                new SqlParameter("@ID",stuid)
            };
            //定义一个DataTable用来存放查出来的结果,这里调用DBHelper里的GetDatatableData方法
            DataTable dt = dbhelper.GetDatatableData(sql, ps);
            //如果你有数据控件可以直接将控件的数据源指定为这个dt,这样数据就会直接在控件中显示
            //也可以取出dt中的某个值显示在页面上,比如这里我取出第一行数据对应的学生的性别
            string AnyoneSex = dt.Rows[0]["StuSex"].ToString();
            //输出弹窗显示第一行数据对应的学生的性别,也可以放到页面上
            MessageBox.Show(AnyoneSex);
        }
        //定义一个增删改的方法,都是返回受影响的行数,所以通用,这里用添加数据
        public void InsertData()
        {
            string name = "张三";
            string sex = "男";
            string age = "18";
            string sql = "insert into Student(StuName,StuSex,StuAge) values(@StuName,@StuSex,@StuAge)";
            SqlParameter[] ps =
            {
                new SqlParameter("@StuName",name),
                new SqlParameter("@StuName",sex),
                new SqlParameter("@StuName",age)
            };
            //然后传到dbhelper中的ExecuteNonQuery,定义一个int类型的变量用来接收返回的受影响的行数
            int num = dbhelper.ExecuteNonQuery(sql, ps);
            //数据有变化则说明插入成功
            if (num > 0)
            {
                MessageBox.Show("插入成功");
            }
        }

转载请注明出处,谢谢