求助如下问题:
1、下面的代码是适配器和数据集的用法好像用得不对,请各位帮忙指点下,因为我想实现修改密码的
2、假设我想实现先检查用户名是否在数据库存在,如果存在就执行修改密码的代码部分,反之,就给出相应的提示
{
  cn.Open();
  ds=New DataSet();
  adapter=New SqlDataAdapter("select * from t1",cn);
  adapter.Fill(ds,"t1");
   
  adapter.UpdateCommand=cn.CreateCommand();
  adapter.UpdateCommand.CommandText="Update t1 set 密码='"+this.txtP.Text+"'   where 用户名='"+this.txtU.Text+"'";  adapter.Update(ds,"t1");
  MessageBox.Show("密码修改成功","提示");
   
  cn.Close();}

解决方案 »

  1.   

    查查 ADO.NET ExecuteNonQuery() 方法
      

  2.   

                SqlConnection cn = new SqlConnection();
                cn.ConnectionString = "连接字符串";
                cn.Open();
                SqlCommand cmd = new SqlCommand();
                cmd.Connection = cn;
                cmd.CommandText = "修改语句";
                int result= cmd.ExecuteNonQuery();
                //cmd.ExecuteNonQuery()方法就是执行修改语句 返回值result是返回执行语句后受影响的行数
                if (result>=1)//执行成功
                {
                    MessageBox.Show("修改成功!");
                }
                else
                {
                    MessageBox.Show("修改失败!");
                }
      

  3.   

    DataAdapter是数据源到DataSet或者其他的数据载体之间的通道。你的流程应该这样:
    1. 用Adapter填充DataSet
    2. 在DataSet被填充的DataTable中查找指定用户名的DataRow
    3. 如果没有找到,则给出”未查询到“的提示
    4. 如果找到了,就构造一个Command对象,利用其ExecuteNonQuery()方法,执行一个Update的SQL命令更新密码,并提示”更新成功“或者其他的什么
    5. 关闭连接,退出。
      

  4.   

    或者在Adapter填充DataSet时,就可以直接加入查询条件。此外,Adapter可以直接填充DataTable。参见链接:http://msdn.microsoft.com/zh-cn/library/system.data.common.dataadapter_methods.aspx
      

  5.   


                  SqlConnection  cn=new SqlConnection("连接数据库语句");
                 
                SqlCommand sqlcmd=new SqlCommand("select * from t1 where username='"+ 用户名+"'",cn);
                   DataSet ds=new DataSet();        
        SqlDataAdapter adapter=new SqlDataAdapter(sqlcmd);  adapter.Fill(ds,"t1");
       if(ds.Tables["t1"].DefaultView.Count<0){/// 说明不可以查询出来
       
           MessageBox.Show("该用户不存在");
           return;
       }
                ///存在
                ///进行修改操作;
               cn.Open();
                SqlCommand cmd=new SqlCommand("修改操作语句");
                cmd.ExecuteNonQuery();
                cn.Close();
                MessageBox.Show("成功!");
      

  6.   

      string sqlquery = @"select CourseNum,CourseName from Course";
            SqlConnection scc = new SqlConnection("Data Source=.;user id=sa;password=888;Initial Catalog=StudentGrade;Integrated Security=True");
            DataSet ds = new DataSet();
            SqlDataAdapter sda = new SqlDataAdapter(sqlquery, scc);
            sda.Fill(ds);//填充数据        DataList1.DataSource = ds.Tables[0].DefaultView;//显示数据
            DataList1.DataBind();
      

  7.   

    DataSet和SqlDataAdapter结合起来一般是用来查询的,如果想要修改密码则需要试用SqlCommand
      

  8.   

    谢谢
    不过要把COUNT<0得改为Count<=0才能正确。不然返回的错误是等于0的,即不存在。
     if (ds.Tables["logisticsuser"].DefaultView.Count<=0)
                    {
                        MessageBox.Show("用户名不存在","提示");
                        return;
                        
                    }