选择题

1.下列ASP.NET语句(B)正确地创建了一个与mySQL数据库和服务器的连接。

A.SqlConnection con1 = new Connection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);

B. MySqlConnection con1 = new MySqlConnection (“Server=localhost;Database = myDB;Uid=root;Pwd=;”);

C.SqlConnection con1 = new SqlConnection(Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB);

D.SqlConnection con1 = new OleDbConnection(“Data Source = localhost; Integrated Security = SSPI; Initial Catalog = myDB”);

2.在ADO.NET中,对于MySqlCommand对象的ExecuteNonQuery()方法和MySqlDataAdapter对象的Fill ()方法,下面叙述错误的是(C

A.insert、update、delete等操作的mySql语句主要用ExecuteNonQuery()方法来执行;

B.ExecuteNonQuery()方法返回执行mySql语句所影响的行数。

C.Select操作的mySql语句只能由Fill ()方法来执行;

D.Fill ()方法返回一个DataSet对象;

简述并举例说明

什么是ADO.NET?

在NET编程环境中优先使用的数据访问接口

什么是连接字符串?

连接字符串,是一组被格式化的键值对:

它告诉ADO.NET数据源在哪里

需要什么样的数据格式

提供什么样的访问信任级别

以及其他任何包括连接的相关信息。

connection对象的作用?

Connection(连接对象):与数据源建立连接。

commmand对象的作用?

Command(命令对象):对数据源执行SQL命令并返回结果。

dataAdapter对象的作用?

DataAdapter(适配器对象):对数据源执行操作并返回结果,在DataSet与数据源之间建立通信,将数据源中的数据写入

DataReader对象的作用?

DataReader(数据流对象):取数据源的数据,只允许对将数据源以只读、顺向的方式查看其中所存储的数据。其常用于检索大量数据,DataReader对象还是一种非常节省资源的数据对象

DataSet对象的作用?

DataSet(数据集对象):内存中的数据库,是数据表的集合,它可以包含任意多个数据表。

程序设计

//字段
private string _account;
private string _name;
private string _usertype;
private string _password;
private string _vip;
private string _garde;
private string _amount;
private string _age;
private string _hobby;
private string _department;
private const string CONSTR = "Server=127.0.0.1;Database=studentsinfo;UserId=root;Password=qq2686485465;";
//属性
public string Account { get => _account; set => _account = value; }
public string Name { get => _name; set => _name = value; }
public string Usertype { get => _usertype; set => _usertype = value; }
public string Password { get => _password; set => _password = value; }
public string Vip { get => _vip; set => _vip = value; }
public string Garde { get => _garde; set => _garde = value; }
public string Amount { get => _amount; set => _amount = value; }
public string Age { get => _age; set => _age = value; }
public string Hobby { get => _hobby; set => _hobby = value; }
public string Department { get => _department; set => _department = value; }
  1. 已知本机上的MySql数据库studentsinfo中有学生表.请给HandleStudent类添加成员函数:public bool HandleLogin((string studentAccount, string studentPwd) 该方法可检验学生登录时的信息是否有效。

    提示:学生表中字段类型自定,但需满足数据的合理性。

    //验证登录
    /// <summary>
    /// 登录验证
    /// </summary>
    /// <param name="studentAccount">账号</param>
    /// <param name="studentPwd">密码</param>
    /// <returns>Boolean 验证成功返回真,否则返回假</returns>
    public static bool HandleLogin(string studentAccount, string studentPwd)
    {
    //对参数进行处理验证
    if (Equals(studentAccount.Trim(), "") || Equals(studentPwd.Trim(), "")) return false;
    //连接数据库
    MySqlConnection con = HandleConnection();
    //打开数据库
    con.Open();
    //参数化拼接字符串
    string sql = "Select*from students where `account` = @Account AND `password` = @Password";
    //创建命令对象
    MySqlCommand cmd = new MySqlCommand(sql, con);
    //指定参数
    cmd.Parameters.Add(new MySqlParameter("@Account",studentAccount));
    cmd.Parameters.Add(new MySqlParameter("@Password", studentPwd));
    //执行
    MySqlDataReader dr = cmd.ExecuteReader();
    //判断
    if (dr.Read())
    {
    con.Close();
    return true;
    }
    else
    {
    con.Close();
    return false;
    } }

  2. 已知本机上的MySql数据库studentsinfo中有学生表students,请给HandleStudent类添加成员函数public static int HandleAddStudents<T>(HandleStudent student) 该方法可添加一位学生的信息到数据表中。

    提示:学生表中字段类型自定,但需满足数据的合理性。

  /// <summary>
/// 根据主键判断 是否存在学生
/// </summary>
/// <param name="key"></param>
/// <returns>boolea 存在返回真,不存在返回假</returns>
public static bool HandleStudentIsIn(string key)
{
//对参数进行处理验证
if (Equals(key.Trim(), "")) return false;
//连接数据库
MySqlConnection con = HandleConnection();
//打开数据库
con.Open();
//参数化拼接字符串
string sql = "Select*from students where `account` = @Account";
//创建命令对象
MySqlCommand cmd = new MySqlCommand(sql, con);
//指定参数
cmd.Parameters.Add(new MySqlParameter("@Account", key));
//执行
MySqlDataReader dr = cmd.ExecuteReader();
//判断
if (dr.Read())
{
con.Close();
return true;
}
else
{
con.Close();
return false;
}
}
 /// <summary>
/// 添加学生
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="student"></param>
/// <returns>int型 操作影响的行数</returns>
public static int HandleAddStudents<T>(HandleStudent student)
{
MySqlConnection con = HandleConnection();
con.Open();
//判断学生是否存在,信息是否完善
if (HandleStudentIsIn(student.Account) || Equals(student.Account,"") || Equals(student.Name, "" ) || Equals(student.Password, "") || Equals(student.Usertype, "")) return 0;
//添加学生信息
string sql = "INSERT INTO students(`account`,`name`,`usertype`,`password`,`vip`,`garde`,`amount`,`age`,`hobby`,`department`)" +
"VALUES" +
"(@Account,@Name,@UserType,@Password,1,0,0,0,'IT','OMTPC')";
MySqlCommand cmd = new MySqlCommand(sql, con);
cmd.Parameters.Add(new MySqlParameter("@Account",student.Account));
cmd.Parameters.Add(new MySqlParameter("@Name", student.Name));
cmd.Parameters.Add(new MySqlParameter("@UserType", student.Usertype));
cmd.Parameters.Add(new MySqlParameter("@Password", student.Password));
int rows = cmd.ExecuteNonQuery();
con.Close();
return rows;
}

项目完整代码

【C#】【平时作业】习题-11-ADO.NET的更多相关文章

  1. 我(webabcd)的文章索引

    [最后更新:2014.08.28] 重新想象 Windows Store Apps 系列文章 重新想象 Windows 8 Store Apps 系列文章 重新想象 Windows 8 Store A ...

  2. C#一些面试知识题

    1.简述 private. protected. public.internal 修饰符的访问权限答:private:私有成员, 在类的内部才可以访问(只能从其声明上下文中进行访问). protect ...

  3. 地区sql

    /*Navicat MySQL Data Transfer Source Server : localhostSource Server Version : 50136Source Host : lo ...

  4. 2016年11月28日--ADO.Net 查、插、删、改 小练习

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  5. 2016年11月28日--ADO.Net 增、删、改、查

    数据访问 对应命名空间:System.Data.SqlClient; SqlConnection:连接对象SqlCommand:命令对象SqlDataReader:读取器对象 CommandText: ...

  6. ADO.NET常用对象

    一.Connection对象 Connection对象也称为数据库连接对象,Connection对象的功能是负责对数据源的连接.所有Connection对象的基类都是DbConnection类. Co ...

  7. Ado.net[登录,增删改查,Get传值,全选,不选,批量删除,批量更新]

    [虽然说,开发的时候,我们可以使用各种框架,ado.net作为底层的东西,作为一个合格的程序员,在出问题的时候我们还是要知道如何调试] 一.增删改查 cmd.ExecuteReader();执行查询, ...

  8. ADO.NET 中的新增功能

    ADO.NET 中的新增功能: .NET Framework (current version) 以下是 .NET Framework 4.5 中 ADO.NET 的新增功能. SqlClient D ...

  9. 第二天 ado.net, asp.net ,三层笔记

    1. ado.net步骤:     一:倒入命名空间      using System.Data;      using System.Data.sqlclient;     二:第一个模型 int ...

  10. 【转】PowerShell 连接SQL Server 数据库 - ADO.NET

    转至:http://www.pstips.net/connect-sql-database.html PowerShell 通过ADO.NET连接SQL Server数据库,并执行SQL脚本.工作中整 ...

随机推荐

  1. balance_dirty_pages_ratelimited分析

    balance_dirty_pages_ratelimited分析 nr_dirtied_pause:当前task的脏页门限: dirty_exceeded:全局的脏页数超过门限或者该bdi的脏页数超 ...

  2. Java日期时间API系列18-----Jdk8中java.time包中的新的日期时间API类,java日期计算5,其他常用日期计算,星期计算,闰年计算等

    通过Java日期时间API系列8-----Jdk8中java.time包中的新的日期时间API类的LocalDate源码分析中可以看出,java8中的方法特别丰富,一些常用的计算如星期计算,闰年计算等 ...

  3. 精彩回顾|【ACDU 中国行·杭州站】数据库主题交流活动成功举办!

    8月19日下午,[ACDU 中国行·杭州站]在杭州西溪万怡酒店圆满落下帷幕.本次活动由中国数据库联盟(ACDU)联合墨天轮社区主办,蚂蚁集团 OceanBase 及亚信科技 AntDB 赞助支持.六位 ...

  4. 2023年2月中国数据库排行榜:OTO新格局持续三月,人大金仓、AnalyticDB排名创新高

    玉兔迎春至,榜单焕新颜. 2023年2月,兔年开年的 墨天轮中国数据库流行度排行 火热出炉,本月共有259个数据库参与排名,排行榜样式去掉了较上月和半年前得分差的数据显示,更加聚焦各产品之间的排名变化 ...

  5. iOS Masonry使用小结

    一.Masonry简介 Masonry是一个轻量级的布局框架,它拥有自己的描述语法(采用更优雅的链式语法封装)来自动布局,具有很好可读性且同时支持iOS和Max OS X等. 二.Masonry的基本 ...

  6. iOS动画之CABasicAnimation的使用方法(移动,旋转,缩放)

    设定动画CABasicAnimation的属性和说明 属性 说明  duration 动画的时间 repeatCount 重复的次数.不停重复设置为 HUGE_VALF repeatDuration ...

  7. markdown.css 设置文章的样式

    返回的详情文章内容是标签加内容文字,使用 markdown,css 渲染样式 : .markdown-body .octicon { display: inline-block; fill: curr ...

  8. kotlin类与对象——>委托、委托属性

    1.委托 1.1 委托的实现 委托模式已经证明是实现继承的一个很好的替代方式,而 Kotlin 可以零样板代码地原生支持它. Derived 类可以通过将其所有公有成员都委托给指定对象来实现一个接口 ...

  9. 【转】sqlplus/RMAN/lsnrctl 等工具连接缓慢

    AIX上sqlplus /as sysdba rman target / 或者lsnrctl start时或者通过sqlplus system/oracle@orcl这样通过监听连接等方式来登陆时非常 ...

  10. 妙用编辑器:使用Notepad--列编辑功能批量生成维护命令

    应用场景 在日常工作中,维护人员可能会要批量生成一些配置命令,示例如下:添加12个分组 ADD GROUP:GID=1,FCN=646322; ADD GROUP:GID=1,FCN=646322; ...