ado.net提供了丰富的数据库操作,在这些操作中SqlConnection和SqlCommand类是必须使用的,但接下来可以分为两类操作:
public void SqlAdapterDemo1(string connStr)
{
SqlConnection conn = new SqlConnection(connStr);//连接对象
SqlCommand cmd = conn.CreateCommand();//sql命令对象
cmd.CommandType = CommandType.Text;
cmd.CommandText = "select * from products = @ID";//sql语句
cmd.Parameters.Add("@ID", SqlDbType.Int);
cmd.Parameters["@ID"].Value = 1;//给参数sql语句的参数赋值
SqlDataAdapter adapter = new SqlDataAdapter();//构造SqlDataAdapter
adapter.SelectCommand = cmd;//与sql命令对象绑定,这个必不可少
DataSet ds = new DataSet();
adapter.Fill(ds,"table1");//填充数据。第二个参数是数据集中内存表的名字,可以与数据库中的不同
//Fill方法其实是隐藏的执行了Sql命令对象的CommandText
//填充完了后,就可以方便的访问数据了。例如
WriteLine(ds.Tables["table1"].Rows[0][1]);}
public void SqlAdapterDemo1(string connStr)
{
SqlConnection conn = new SqlConnection(connStr);//连接对象
cmd.Parameters.Add("@ID", SqlDbType.Int);
cmd.Parameters["@ID"].Value = 1;//给参数sql语句的参数赋值
SqlDataAdapter adapter = new SqlDataAdapter();//构造SqlDataAdapter
adapter.SelectCommand = cmd;//与sql命令对象绑定,这个必不可少
SqlCommandBuilder builder = new SqlCommandBuilder(adapter);//在构造好了SqlDataAdapter对象 //加上此句代码
DataSet ds = new DataSet();
adapter.Fill(ds,"table1");//填充数据。第二个参数是数据集中内存表的名字,可以与数据库中的不同
//Fill方法其实是隐藏的执行了Sql命令对象的CommandText
//填充完了后,就可以方便的访问数据了。例如
WriteLine(ds.Tables["table1"].Rows[0][1]);
//修改操作
ds.Tables["table1"].Rows[0][1] = "Sample2";//此句代码只是修改了数据集中某够值
//更新到数据库
adapter.Update(ds, "table1");//把内存中的数据同步到数据库中