string sql = string.Format("select * from StudentOne where 学号=@学号");
string constr = ConfigurationManager.ConnectionStrings["Student"].ConnectionString;
using (SqlConnection conn = new SqlConnection(constr))
{
conn.Open();
SqlCommand cmd = new SqlCommand(sql, conn);
SqlParameter para = new SqlParameter("@学号",SqlDbType.Int);//设置参数
para.Value = 1;
cmd.Parameters.Add(para);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read()) {
sb.Append(string.Format());//reader["列名"];
}
}
SqlDataReader 为一直和数据库连接。
SqlDataAdapter 从数据库中读到内存DataSet,然后与内存中的数据库读取数据;
string connstr=ConfigurationManager.ConnectionStrings["xxx"].ConnectionString;
DataSet ds=new DataSet();
SqlConnection conn=new SqlConnection(connstr);
//这里注意的如果使用的是SqlReaderAdapter,不再调用conn.Open()方法;
SqlCommand cmd=new SqlCommand("SQL语句",connstr);
SqlReaderAdapter adapter =new SqlReaderAdapter(cmd);
adapter.Fill(ds,"TablerName");使用名字,
adapter.Fill(ds);
GridView1.DataSource = ds.Tables["Movies"];// 使用TableName进行指定
GridView1.DataBind();�
GridView2.DataSource = ds.Tables[1]; // 使用inde进行指定�
GridView2.DataBind();
DataSet,DataTable,DataReader,DataAdapter区别
1、DataSet是用来做连接sql的一种方法,意思是把数据库的副本存在应用程序里,相当于存在内存中的数据库,应用程序开始运行时,把数据库相关数据保存到DataSet.
2、DataTable表示内存中数据的一个表.常和DefaultView使用获取可能包括筛选视图或游标位置的表的自定义视图。
�3、DataReader对象是用来读取数据库的最简单方式,它只能读取,不能写入,并且是从头至尾往下读的,无法只读某条数据,但它占用内存小,速度快。
4、DataAdapter对象是用来读取数据库.可读取写入数据,某条数据超着强,但它占用内存比dataReader大,速度慢,一般和DataSet连用.
5、Dataset表示一个数据集,是数据在内存中的缓存。 可以包括多个表,DataSet 连接数据库时是非面向连接的。把表全部读到Sql中的缓冲池,并断开于数据库的连接,DataReader 连接数据库时是面向连接的。读表时,只能向前读取,读完数据后由用户决定是否断开连接。