欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > asp.net >内容正文

asp.net

ADO.NET笔记

发布时间:2025/3/15 asp.net 38 豆豆
生活随笔 收集整理的这篇文章主要介绍了 ADO.NET笔记 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

一、ADO.NET (Access Data Object, 数据访问对象)
.NET操作数据库的一组类
1. DataSet (数据集)
2. .NET数据提供程序 (Data Provider)
2.1. Connection
2.2. Command
2.3. DataReader
2.4. DataAdapter


二、Connection (连接对象)
1. 创建:
SqlConnection conn = new SqlConnection();
conn.ConnectionString = "连接字符串";
// 或:
SqlConnection conn = new SqlConnection(连接字符串);


2. 打开连接:
conn.Open();

可能产生的异常:
2.1. 连接失败:地址不对,服务没开,没目标数据库
2.2. xx 登录失败:账号不对、权限不足
2.3. 不支持关键字 xxx:连接字符串错误


3. 连接字符串:
3.1. 地址、数据库、账号、密码
3.2. Data Source=服务器地址; Initial Catalog=数据库名; User Id=账号; Password=密码
3.3. server=服务器地址; database=数据库名; uid=账号; pwd=密码


4. 连接实例:
string connStr = "server=.;database=MySchool;uid=sa;pwd=sa";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();
conn.Close();


三、Command (命令执行对象)
1. 创建语法:
SqlCommand comm = new SqlCommand();
comm.CommandText = "SQL语句"; // 要执行什么SQL?
comm.Connection = conn; // 在哪执行?
// 或简写为:
SqlCommand comm = new SqlCommand(sql, conn);


2. 执行
2.1. ExecuteScalar()
2.2. ExecuteReader()
2.3. ExecuteNonQuery()


3. comm.ExecuteScalar():
3.1. Command开始执行目标的SQL语句,并获取数据库返回的结果
3.2. 只获取结果中的首行首列
3.3. 适用情况:
3.3.1. 聚合函数:count、sum、max、min、avg
3.3.2. 根据条件查询某一列的值


四、示例:查询所有学生数量
// 1. 创建连接并打开
string connStr = "server=.;database=MySchool;uid=sa;pwd=sa";
SqlConnection conn = new SqlConnection(connStr);
conn.Open();

// 2. 创建执行对象
string sql = "select count(1) from Student";
SqlCommand comm = new SqlCommand(sql, conn);

// 3. 执行并返回结果
int count = (int)comm.ExecuteScalar();
// 或:
int count = Convert.ToInt32(comm.ExecuteScalar());

// 4. 关闭连接
conn.Close();


五、示例:根据年级编号查询年级名称
public string SelectGradeNameById(int gradeId)
{
string name = null;

// SQL语句
string sql = string.Format("SELECT GradeName FROM Grade WHERE GradeId={0}", gradeId);
SqlConnection conn = new SqlConnection(connStr); // 1. 创建连接
SqlCommand comm = new SqlCommand(sql, conn); // 2. 创建执行对象
conn.Open(); // 3. 打开连接
name = comm.ExecuteScalar().ToString(); // 4. 执行并获取结果
conn.Close(); // 5. 关闭连接

return name;
}


六、示例:根据学生编号查询学生姓名
public string SelectStudentNameByNo(string studentNo)
{
string name = null;

//SQL语句
string sql = string.Format("SELECT StudentName FROM Student WHERE StudentNo='{0}'", studentNo);

SqlConnection conn = new SqlConnection(connStr); // 1. 创建连接
SqlCommand comm = new SqlCommand(sql, conn); // 2. 创建执行对象
conn.Open(); // 3. 打开连接
name = comm.ExecuteScalar().ToString(); // 4. 执行并获取结果
conn.Close(); // 5. 关闭连接

return name;
}


七、SQL执行常见错误
1. 不支持关键 xxx
2. xxx 附近有语法错误
SQL语句错了
3. 列名 xxx 无效
SQL语句错了
4. Command需要一个已经打开的Connection
连接未打开


八、示例:管理员登录 (根据账号和密码,查询人数)
public int AdminLogin(string username, string password)
{
int count = -1;

// SQL语句
string sql = " SELECT COUNT(1) FROM Admin WHERE Username='{0}' AND Password='{1}' ";
sql = string.Format(sql, username, password);

SqlConnection conn = new SqlConnection(connStr); // 1. 创建连接
SqlCommand comm = new SqlCommand(sql, conn); // 2. 创建执行对象
conn.Open(); // 3. 打开连接
count = Convert.ToInt32(comm.ExecuteScalar()); // 4. 执行并获取结果
conn.Close(); // 5. 关闭连接

return count;
}

转载于:https://www.cnblogs.com/lecj2498/p/8185517.html

总结

以上是生活随笔为你收集整理的ADO.NET笔记的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。