【ADO.NET】 基础 (SQL Server)
一、Web.config配置
<connectionStrings> <add name="constr_name" connectionString="server=192.168.1.139;uid=sa;pwd=123456;Trusted_Connection=no;Database=dabasename" providerName="system.data.sqlclient"/> </connectionStrings>
注:constr_name(自定义名),server(sqlserver服务器地址),uid(登录名),pwd(密码),Trusted_Connection(是否使用windows账户登录),Database(数据库名),providerName(数据库类型,sqlserver的为system.data.sqlclient)-
二、C#程序
例1、 获取所有用户
//一、连接数据库 string connectionString = ConfigurationManager.ConnectionStrings["constr_name"].ToString(); SqlConnection conn = new SqlConnection(connectionString); conn.Open(); //二、构建数据库操作类 SqlCommand command = new SqlCommand(); command.CommandText = "SELECT * FROM [User];"; command.Connection = conn; //三、读取数据 SqlDataReader reader = command.ExecuteReader(); //四、将数据写入对象 User user = null; List<User> list = new List<User>(); while (reader.Read()) { user = new User(); user.id = (int)reader["id"]; user.name = reader["name"].ToString(); list.Add(user); } //五、关闭 reader.Close(); conn.Close(); //另外,User实体类 class User { public int id { get; set; } public string name { get; set; } }
例2、 使用事务,插入用户数据
int result = 0; //一、连接数据库 string connectionString = ConfigurationManager.ConnectionStrings["constr_name"].ToString(); SqlConnection conn = new SqlConnection(connectionString); conn.Open(); //--开始事务 SqlTransaction trans = conn.BeginTransaction(); try { //二、构建数据库操作类 SqlCommand command = new SqlCommand(); command.CommandText = "INSERT INTO [User] VALUES(1,'name1');"; command.Connection = conn; command.Transaction = trans;//事务 result += command.ExecuteNonQuery();//插入第一条用户数据并返回影响条数 command.CommandText = "INSERT INTO [User] VALUES(2,'name2');"; result += command.ExecuteNonQuery();//插入第二条用户数据并返回影响条数 if (result == 2) { trans.Commit();//两条数据都插入成功则提交事务 } else { trans.Rollback();//否则回滚事务,取消所有插入的数据 } } catch (System.Exception ex) { trans.Rollback();//出错,回滚事务 } finally { conn.Close(); }
另外:
如果忘记关闭连接对象(使用conn.Close();),将影响性能,所以鼓励使用using,详情见以下连接:
http://blog.csdn.net/u011096141/article/details/24370141
当然,忘记关闭的情况应该是在一些比较复杂项目中才会发生。