今天学习了ado.net数据库的访问,及增删改、查的基本操作d
一般步骤:
首先要引入using system.data和using system.data.sqlclient命名空间
1.创建连接字符串
string strCon="server=.;database=数据库名;uid=sa;pwd=123456";(sql方式验证)
2.新建连接通道对象,并对其添加连接字符串
sqlConnetion conn=new sqlConnetction(strCon);
3.添加sql命令
string strSql="select * from 表名";
4.创建命令对象
sqlCommand cmd=new sqlCommand(strSql,coon); //参数1为要执行的sql命令,参数2为连接通道
5.打开连接通道(一般在手动打开连接通道的同时要写上关闭连接通道,避免忘记消耗内存)
coon.Open();
coon.Close();
/// </summary>
public static void QueryListByColName()
{
//string conStr = "server=.;database=SchoolContext;uid=sa;pwd=123456";
//SqlConnection conn = new SqlConnection(conStr);
//string strSql = "select * from Student";
//SqlCommand cmd = new SqlCommand(strSql,conn);
//conn.Open();
调用此方法获取读取器对象
//SqlDataReader dr = cmd.ExecuteReader();
//if (dr.HasRows)
//{
// while (dr.Read()) //如果读取到下一行对象则返回true,dr本身等于读取的 哪一行数据
// {
// Console.WriteLine(dr["StudentId"].ToString()+dr["LastName"].ToString());
// }
//}
//else { Console.WriteLine("无数据"); }
//dr.Close();//conn.close();
/// <summary>
/// 查询多行数据,DataReader逐行读取,通过下标访问
/// </summary>
public static void QueryListByDrIndex()
{
// string strCon = "server=.;database=SchoolContext;uid=sa;pwd=123456";
// SqlConnection conn = new SqlConnection(strCon);
// string strSql = "select * from Student";
// SqlCommand cmd = new SqlCommand(strSql,conn);
// conn.Open();
// //调用此方法 获取一个读取器对象
// SqlDataReader dr = cmd.ExecuteReader();
// if(dr.HasRows)
// {
// while (dr.Read())
// {
// Console.WriteLine(dr[0].ToString()+"_"+dr[1].ToString());
// }
// }
// else{Console.WriteLine("无数据");}
// dr.Close();
// conn.Close();
//通过适配器读取
public static void QueryListByAdapter()
{
//创建连接字符串
string conStr = "server=.;database=SchoolContext;uid=sa;pwd=123456";
//1.创建连接通道对象并添加连接字符串
SqlConnection conn = new SqlConnection(conStr);
//2.添加sql命令
string strSql = "select * from Student";
//3.创建适配对象,告诉其要做什么,走那条路去
SqlDataAdapter da = new SqlDataAdapter(strSql,conn); //不需代码打开和关闭连接通道
//4.创建数据集对象(程序端的临时数据库)
DataSet ds = new DataSet();
//调用fill方法,填充数据集。(先去数据库查询结果集,并把结果集返回赋值给数据集)
da.Fill(ds);
//获取数据集中的第一张表
DataTable dt = ds.Tables[0];
//循环数据表中的每一行
//for(int i=0;i<dt.Rows.Count;i++)
//{
// DataRow dr=dt.Rows[i]; //将循环出的行拿出来给dr对象
// Console.WriteLine(dr[0].ToString());
//}
for (int i = 0; i < dt.Columns.Count; i++)
{
DataColumn dc = dt.Columns[i];
Console.WriteLine(dc.ToString());
}
Console.ReadKey();
}