嘿嘿,又到了总结了的时间,今天我们学习了ADO.net,什么是ADO.NET:ADO.NET就是一组类库,这组类库可以让我们通过程序的方式访问数据库,就像System.IO下的类操作文件一样, System.Data.这组类是用来操作数据库(不光是MSSql Server),它提供了统一的编程接口让操作其它数据库(Access、Oracle等)的方式和操作MSSql Server一致。下面就简单的总结下啦,
一.通过在VS中的简单方法插入数据
class Program
{
static void Main(string[] args)
{
string sqlconn = "Data Source=.;Initial Catalog=claa;Integrated Security=True";
using (SqlConnection sqlcon = new SqlConnection(sqlconn))
{
sqlcon.Open();
string text = "Insert into Class values('李四','我很快乐')";
using (SqlCommand conn = new SqlCommand(text,sqlcon))
{
int number= conn.ExecuteNonQuery();
if (number > 0)
{
Console.WriteLine("成功");
}
else
{
Console.WriteLine("失败");
}
Console.ReadKey();
}
}
}
}
二.通过在VS中的简单方法删除数据
class Program
{
static void Main(string[] args)
{
string constr = "Data Source=.;Initial Catalog=claa;Integrated Security=True";
using (SqlConnection con = new SqlConnection(constr))
{
con.Open();
string sql = "delete from Class where Class.cName='李四'";
using (SqlCommand conn = new SqlCommand(sql, con))
{
int i= conn.ExecuteNonQuery();
if (i > 0)
{
Console.WriteLine("成功");
}
else
{
Console.WriteLine("失败");
}
}
Console.ReadKey();
}
}
}
三.通过在VS中的简单方法更新数据
class Program
{
static void Main(string[] args)
{
string connectionString = "Data Source=.;Initial Catalog=db_buiness;Integrated Security=True";
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
string commandText = "Update Class set cName=‘张三’ where id=2 ";
using (SqlCommand cmd = new SqlCommand(commandText,conn))
{
int num= cmd.ExecuteNonQuery();
if (num > 0)
{
Console.WriteLine("修改成功");
}
else
{
Console.WriteLine("修改失败");
}
}
Console.ReadKey();
}
}
}
四.通过在VS中的简单方法查询数据
1. 创建一个winform窗体,在窗体上面拖拉一个控件dataGridView,然后实现其代码如下:
private void Form1_Load(object sender, EventArgs e)
{
string connection = "Data Source=.;Initial Catalog=claa;Integrated Security=True";
using (SqlConnection conn = new SqlConnection(connection))
{
conn.Open();
string sql = "select * from log";
using (SqlCommand cmd = new SqlCommand(sql,conn))
{
//DataTable dt = new DataTable(); //当读取的表为一张表的时间,可以选择使用DataTable
//using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
//{
// sda.Fill(dt);
// this.dataGridView1.DataSource = dt;
//}
DataSet ds = new DataSet(); //使用DataSet读取数据集
using (SqlDataAdapter sda = new SqlDataAdapter(cmd))
{
sda.Fill(ds);
this.dataGridView1.DataSource = ds.Tables[0];
}
}
}
}
数据库中的表的信息就会显示在界面上面,如下代码所示为:
2.创建一个简单的登陆界面,登陆界面设计如下:
代码如下:
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
string name=this.textBox1.Text;
string pwd = this.textBox2.Text;
string connection = "Data Source=.;Initial Catalog=claa;Integrated Security=True";
using (SqlConnection conn=new SqlConnection(connection))
{
conn.Open();
string sql = "select Name,Pwd from Log where Name =@name and Pwd =@pwd";
SqlParameter sp = new SqlParameter("@name",name);
SqlParameter sp1 = new SqlParameter("@pwd", pwd);
using(SqlCommand cmd=new SqlCommand (sql,conn))
{
cmd.Parameters.Add(sp);
cmd.Parameters.Add(sp1);
DataTable table = new DataTable();
using (SqlDataAdapter sqd = new SqlDataAdapter(cmd))
{
sqd.Fill(table);
if (table.Rows.Count > 0)
{
MessageBox.Show("成功");
}
else
{
MessageBox.Show("失败");
}
}
}
}
}
}
结果如下所示:
五。综上
1.数据提供程序(常用类)
Connection:用来连接数据库
Command:用来执行SQL语句
DataReader:只读、只进的结果集,一条一条读取数据(StreamReader、XmlReader微软的类库中这些Reader的使用方式都差不多)
DataAdapter,一个封装了上面3个对象的对象
数据集(DataSet)
2.访问数据库的方式有两种
方式一:1.连接数据用Connection;执行SQL语句Command;执行完毕之后将结果一条一条返回。DataReader
方式二:使用DataAdapter+DataSet,这种方法本质还是通过Connection、Command、DataReader将数据全部取出来然后放到了DataSet中
3.SqlCommand常用的方法 ExecuteNonQuery() 执行对数据库的增删改,返回受影响的行数,适合:insert、delete、update(对于其他语句返回-1)
ExecuteScalar() 执行查询,返回首行首列
ExecuteReader() 执行查询,返回DataReader对象
好啦,就总结到这里啦,今天学习的方法好多都是之前没有用过的啦,似乎接触的东西没有那么多啦,但是我们使用起来却是比较困难的啦,所以这个要多练习啦,嘿嘿。