• 数据库学习任务三:执行数据库操作命令对象SqlCommand


           数据库应用程序的开发流程一般主要分为以下几个步骤:

    1. 创建数据库
    2. 使用Connection对象连接数据库
    3. 使用Command对象对数据源执行SQL命令并返回数据
    4. 使用DataReader和DataSet对象读取和处理数据源的数据

         

          使用Connection对象成功创建数据库连接后,接下来就可以使用Command对象对数据源执行查询、添加、删除和修改等各种SQL命令了。

          SqlCommand对象用来对SQL Server数据库执行操作命令。

    1.ExecuteNonQuery方法,执行更新操作,如与 insert、delete 和 update 语句有关的操作

    SqlConnection con = new SqlConnection();
    con.ConnectionString ="连接字符串";
    SqlCommand com = new SqlCommand();
    com.Connection = con;
    com.CommandText = "数据更新命令";
    con.Open();
    com.ExecuteNonQuery();  //执行Command命令
    con.Close();

    2.ExecuteReader方法,通常与查询命令 select 一起使用,并返回一个数据读取器对象 SqlDataReader 类的一个实例。

    SqlConnection con = new SqlConnection();
    con.ConnectionString = "连接字符串";
    SqlCommand com = new SqlCommand();
    com.Connection = con;
    com.CommandText = "查询语句";
    con.Open();
    SqlDataReader sdr = com.ExecuteReader();
    while(sdr.Read()){
       Response.Write(sdr[0]);  //输出第一个字段的内容
    }
    con.Close();

    3.ExecuteScalar方法,如果只想检索数据库信息中的一个值,而不需要返回表或数据流形式的数据,即可使用此方法。例如只需要返回count(*)、avg(价格)、sum(数量)等函数的结果就可以使用此方法。

    SqlConnection con = new SqlConnection();
    con.ConnectionString = "连接字符串";
    SqlCommand com = new SqlCommand();
    com.Connection = con;
    com.CommandText = "select avg(价格) from 你的表";
    con.Open();
    Response.Write(com.ExecuteScalar());  //输出第一个字段的内容
    con.Close();

    【例】使用SqlComman对象增加数据库数据,将注册信息插入数据库中

     protected void btnRegister_Click(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection();
            con.ConnectionString = @"Data Source=.SQLEXPRESS;AttachDbFilename=C:UsersASUSDesktop案例EBookShopApp_DataShopBookDB.mdf;Integrated Security=True;User Instance=True";
            SqlCommand com = new SqlCommand();
            com.Connection = con;
            com.CommandText = string.Format("insert into users(user_name,password,sex,age,email,createDate) values('{0}','{1}','{2}','{3}','{4}','{5}')",txtName.Text.Trim(),txtPwd.Text.Trim(),rbFemale.Checked?"":"",txtAge.Text.Trim(),txtEmail.Text.Trim(),DateTime.Now.ToShortDateString());
            con.Open();
            com.ExecuteNonQuery();
            try {
                Response.Write("<script>alert('注册成功')</script>");
                con.Close();
            }
            catch(Exception){
                Response.Write("<script>alert('数据库无法连接')</script>");
                con.Close();
            }
            
        }
  • 相关阅读:
    socket based————转帖
    罗马假日 java程序员
    java六大必须理解的问题来自网络少许有误 java程序员
    spring的scope="prototype" java程序员
    @GeneratedValue java程序员
    myeclipse乱码和tomcat相关的 java程序员
    关于***.hbm.xml的说明 java程序员
    hibernate中的Annotation补充 java程序员
    爱的随笔C语言版 java程序员
    Hibernate对jpa annotation的支持 java程序员
  • 原文地址:https://www.cnblogs.com/yankyblogs/p/6870138.html
Copyright © 2020-2023  润新知