求助如下问题:
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();}
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("修改失败!");
}
1. 用Adapter填充DataSet
2. 在DataSet被填充的DataTable中查找指定用户名的DataRow
3. 如果没有找到,则给出”未查询到“的提示
4. 如果找到了,就构造一个Command对象,利用其ExecuteNonQuery()方法,执行一个Update的SQL命令更新密码,并提示”更新成功“或者其他的什么
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("成功!");
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();
不过要把COUNT<0得改为Count<=0才能正确。不然返回的错误是等于0的,即不存在。
if (ds.Tables["logisticsuser"].DefaultView.Count<=0)
{
MessageBox.Show("用户名不存在","提示");
return;
}