ADO.NET 基础 (SQL Server)
2024-10-18 05:32:30
一、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 = ; //一、连接数据库
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 == )
{
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
当然,忘记关闭的情况应该是在一些比较复杂项目中才会发生。
最新文章
- OpenCV2:Mat属性type,depth,step
- hive中rcfile格式(收藏文)
- 第1章 C#类型基础
- 启动mysql出现了error the server quit without updating pid file (/var/lib/mysql/localhost.localdomain.pid)
- 项目源码--Android迷幻岛屿综合游戏
- 挂载nfs系统问题之: Root-NFS: Server returned error -13 while mounting
- JSP EL
- WP8.1开发系列之隐藏顶部状态栏
- Hibernate知识总结(一)——Hibernate原理概述
- @SuppressWarnings抑制警告
- matlab coder 工具箱使用教程
- Fiddler使用~知多少?
- Why does deep learning work?
- JavaWeb 简单实现客户信息管理系统
- Java中的默认构造函数
- C++ 模板的全特化与偏特化
- 基于Extjs的web表单设计器
- SVN-如何删除 SVN 文件夹下面的小图标
- supervisor 简单使用
- UVA 10288 Coupons (概率)