Connection Command[ExecuteNonQuery ExecuteScalar ExecuteReader] DataReader DataAdapter DataSet

protected void Button1_Click(object sender, System.EventArgs e)
   {
    string strConn="user id=sa;data source=weizhi;database=study;password=weizhi";//连接数据库
    string strSql="select * from pass"; //查询语句
    SqlConnection myConnection =new SqlConnection (strConn); //新建连接
    SqlCommand myCommand=new SqlCommand (strSql,myConnection); //执行查询操作
    myConnection.Open ();

    //DataAdapter对象通过SelectCommand,nsertCommand,UpdateCommand,Deletecommand
    //四个命令来完成对数据库的更新工作.

    SqlDataAdapter Adapter=new SqlDataAdapter();
    Adapter.SelectCommand=myCommand;

    //DataSet将从数据库中检索到的数据缓存在内在中,
    //以便能在离线状态下访问数据.DataSet中的数据完全采用XML格式.
    DataSet myDs=new DataSet();
    Adapter.Fill(myDs);
    this.DataGrid1.DataSource=myDs;
    this.DataBind();
    myConnection.Close();
   }

   protected void Button2_Click(object sender, System.EventArgs e)
   {
    //Connection对象,Command对象,DataReader对象,DataAdapter对象,DataSet对象,的学习

    //Connection对象主要是进行数据库的连接:
    string strConn="user id=sa;data source=weizhi;database=study;password=weizhi";//连接数据库
    string strSql="select * from pass where username='"+this.TextBox1 .Text .Trim ()+"'"; //查询语句
    SqlConnection myConnection =new SqlConnection (strConn); //新建连接

    //Command对象用来执行命令并从数据源中返回结果.
    //常用的select,update,delete,insert等SQL语句都可以在Command对象中创建
    //提供了以下几个方法来执行命令:
    //ExecuteNonQuery:可以通过该命令来执行目录操作(如查询表的结构或者创建表等)
    // 以及除去select查询以外的SQL命令,该命令不返回任何行,面只是返回执行该命令时所影响到的表行数.
    // 可以说ExecuteNonQuery命令是在不利用DataSet的情况下改变数据为时的内容.
    //ExecuteScalar:可以执行select查询,但返回的是一个单值,多用于查询聚合值的情况,
    // 如使用count()或者sum()函数的SQL命令,例如: int num;
    //                                             commandText="select count(*) from sutdent where ClassName="计算机"";
    //                                             num=(int)ExecuteScalar();
    //ExecuteReader:该方法返回一个DataReader对象,内容为与命令匹配的所有行.
    SqlCommand myCommand=new SqlCommand (strSql,myConnection); //执行查询操作
    myConnection.Open ();

    //DataReader对象可以从数据库中读取由select命令返回的只读,只进的数据集.
    SqlDataReader myReader=myCommand.ExecuteReader (); //读取查询到的数据,
    if(myReader.Read())//判断用户名与密码是否为空!
    {
     if(myReader["password"].ToString().Trim()==this.TextBox6.Text.Trim())
     {
      this.Label1.Text="用户名正确,密码正确!";
     }
     else
     {
      this.Label1.Text="密码不正确!";
     }
    }
    else
    {
     this.Label1.Text="用户名不正确!";
    }
    myReader.Close();//关闭myReader
    myConnection.Close();//关闭myConnection
   }

   protected void Button3_Click(object sender, System.EventArgs e)
   {
    string username=this.TextBox2.Text.Trim();
    string password=this.TextBox3.Text.Trim();
    string teacher_id=this.TextBox4.Text.Trim();
    string rename=this.TextBox5.Text.Trim();
    string popedom=this.DropDownList1.SelectedValue.ToString();

    string strConn="user id=sa;data source=weizhi;database=study;password=weizhi";
    string strSql="insert into pass(username,password,teacher_id,rename,popedom) values('"+username+"','"+password+"','"+teacher_id+"','"+rename+"','"+popedom+"')"; //查询语句
    SqlConnection myConnection =new SqlConnection (strConn);
    SqlCommand myCommand=new SqlCommand (strSql,myConnection);
    myConnection.Open ();
    //ExecuteNonQuery 返回执行该命令时所影响到的表行数
    int number=myCommand.ExecuteNonQuery();
    if(number!=0)//如果影响到的表行数!=0,也就是插入操作已经执行
    {
     Response.Write("<script>alert(\"数据成功计算并插入数据库!\");</script>");
    }
    myConnection.Close();
   }

原文地址:https://www.cnblogs.com/wangbin/p/1260969.html