zoukankan      html  css  js  c++  java
  • ADO.NET 数据连接查询

    static string  sqlcon = "server=.;database=;Integrated Security=true;";
    /// <summary>
    /// 新增数据
    /// </summary>
    public static void Add()
    {
        //string sqlcon = "server=.;database=;Integrated Security=true;";
        SqlConnection conn=new SqlConnection(sqlcon);           
        string sqlStr="insert into Boook(b_id,b_title,b_author,b_money)values(1,'ASP.NET','莫言',100)";
        SqlCommand cmd=new SqlCommand(sqlStr,conn);
        conn.Open();
        int i = cmd.ExecuteNonQuery();
        conn.Close();
        if (i>0)
        {
            Console.Write("新增成功!");
        }
        else
        {
            Console.Write("新增失败!");
        }
    }
    /// <summary>
    /// 删除数据
    /// </summary>
    public static void Delete()
    {
        //string sqlcon = "server=.;database=;Integrated Security=true;";
        SqlConnection conn = new SqlConnection(sqlcon);
        string sqlStr = "delete from book where b_id=1";
        SqlCommand cmd = new SqlCommand(sqlStr,conn);
        conn.Open();
        int i = cmd.ExecuteNonQuery();
        conn.Close();
        if (i > 0)
        {
            Console.Write("删除成功!");
        }
        else
        {
            Console.Write("删除失败!");
        }
    }
    /// <summary>
    /// 数据更新,软删除
    /// </summary>
    private static void Update()
    {
        //string sqlcon = "server=.;database=;Integrated Security=true;";
        SqlConnection conn = new SqlConnection(sqlcon);
        string sqlStr = "update Boook set b_id =2 where b_id=1";
        SqlCommand cmd = new SqlCommand(sqlStr, conn);
        conn.Open();
        int i = cmd.ExecuteNonQuery();
        conn.Close();
        if (i > 0)
        {
            Console.Write("更新成功!");
        }
        else
        {
            Console.Write("更新失败!");
        }
    }
    /// <summary>
    /// 读取单个值
    /// </summary>
    private static void selectSingle()
    {
        SqlConnection conn = new SqlConnection(sqlcon);
        string sqlStr = "select * from Book";
        SqlCommand cmd = new SqlCommand(sqlStr, conn);
        conn.Open();
        object obj = cmd.ExecuteScalar();
        conn.Close();
        Console.Write(obj.ToString());
    }
    /// <summary>
    /// dateReader读取数据,逐行读取,通过下表访问列
    /// </summary>
    private static void dateReader()
    {
        SqlConnection conn = new SqlConnection(sqlcon);
        string sqlStr = "select * from Book";
        SqlCommand cmd = new SqlCommand(sqlStr, conn);
        conn.Open();
        SqlDataReader dr = cmd.ExecuteReader();
        if (dr.HasRows)
        {
            while (dr.Read())//如果读到下一行数据就返回True,且本身就属于那一行数据
            {
                Console.Write(dr[0].ToString() + '_' + dr[1].ToString()+'_'+dr["ID"].ToString());
            }
        }
        else
        {
            Console.Write("无数据");
        }
        dr.Close();
        conn.Close();
    }

    //使用适配器填充数据集  SqlDataAdapter不需要手动开关,它能够自己开关
    public static void QueryListAdapter()
    {
        SqlConnection con = new SqlConnection(sqlcon);
        string sqlStr = "select*from book";
        SqlDataAdapter da = new SqlDataAdapter(sqlStr,con);
        DataSet ds = new DataSet();
        da.Fill(ds);
        DataTable dt = ds.Tables[0];
        //循环数据表中的每一行
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            DataRow dr = dt.Rows[i];//将表中的一行拿出来给行对象
            Console.WriteLine(dr[0].ToString() + "_" + dr["ID"].ToString());
        }
    }

    //使用适配器填充数据集  SqlDataAdapter不需要手动开关,它能够自己开关
    public static void QueryListAdapter2()
    {
        SqlConnection con = new SqlConnection(sqlcon);
        string sqlStr = "select*from book";
        SqlDataAdapter da = new SqlDataAdapter(sqlStr, con);
        DataSet ds = new DataSet();
        da.Fill(ds);
        DataTable dt = ds.Tables[0];
        //循环数据表中的每一行
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            DataRow dr = dt.Rows[i];//将表中的一行拿出来给行对象
            Console.WriteLine(dr[0].ToString() + "_" + dr["ID"].ToString());
        }
    }
    //调用存储过程查询数据
    public static void QuerListByProc()
    {
        SqlConnection conn = new SqlConnection(sqlcon);
        SqlCommand cmd=new SqlCommand("usp_GetBookMyCateId",conn);
        //无参数的存储过程
        SqlParameter sp2 = new SqlParameter();
        sp2.ParameterName = "@cateId";
        sp2.SqlDbType = SqlDbType.Int;
        sp2.Value = 2;
        cmd.Parameters.Add(sp2);
        //有两个参数的存储过程
        SqlParameter sp = new SqlParameter("@cateId", 2);
        cmd.Parameters.Add(sp);
        SqlDataAdapter da = new SqlDataAdapter();
        DataTable dt = new DataTable();
        da.Fill(dt);
        foreach(DataRow dr in dt.Rows)
        {
            Console.WriteLine(dr[0].ToString() + "_" + dr["ID"].ToString());
        }
    }
    //调用多个参数的存储过程查询
    private static void QueryListByProc2()
    {
        SqlConnection conn = new SqlConnection(sqlcon);
        SqlCommand cmd = new SqlCommand("proGetPageData", conn);
        cmd.CommandType = CommandType.StoredProcedure;
        //尽量不要使用两个参数的存储过程,类型是枚举类型,另外一个两个参数的函数值混淆
        //SqlParameter par = new SqlParameter("@Id", DbType.Int32);
        //SqlParameter par = new SqlParameter("@id", 11);
        //赋值多个参数
        SqlParameter[] paras ={
                                 new SqlParameter("@pageIndex",SqlDbType.Int,4),//这里的4是代表整型的长度
                                 new SqlParameter("@pageSize",SqlDbType.Int,4)
                             };
        //cmd.Parameters.AddRange(paras);
        paras[0].Value = 1;//搜索第一页
        paras[1].Value = 2;//赋值的
        cmd.Parameters.AddRange(paras);//为command对象添加pameters数组
        conn.Open();
        //SqlDataReader dr = cmd.ExecuteReader();
        //while (dr.Read())
        //{
        //    Console.Write("id=" + dr[0].ToString());
        //}
        //dr.Close();
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        foreach (DataRow dr in dt.Rows)
        {
            Console.WriteLine(dr[0].ToString() + "_" + dr[1].ToString());
        }
        conn.Close();
    }


    //调用带输出参数的存数过程
    private static void QuerListProc3()
    {
        SqlConnection conn = new SqlConnection(sqlcon);
        SqlCommand cmd = new SqlCommand("proGetData2", conn);
        SqlParameter[] paras ={
                                 new SqlParameter("@pageIndex",SqlDbType.Int),
                                 new SqlParameter("@pageSize",SqlDbType.Int),
                                 new SqlParameter("@pageCount",SqlDbType.Int),
                                 new SqlParameter("@rowCount",SqlDbType.Int)   
                             };
        paras[0].Value = 1;
        paras[1].Value = 2;
        paras[2].Direction = ParameterDirection.Output;
        paras[3].Direction = ParameterDirection.Output;//设置参数的输出方向
        cmd.Parameters.AddRange(paras);
        SqlDataAdapter da = new SqlDataAdapter(cmd);
        DataTable dt = new DataTable();
        da.Fill(dt);
        foreach (DataRow dr in dt.Rows)
        {
            Console.WriteLine(dr[0].ToString() + "_" + dr[1].ToString());
        }
        int pageCount=Convert.ToInt32(cmd.Parameters[2].Value);
        int rowCount=Convert.ToInt32(cmd.Parameters[3].Value);//获取输出参数
        Console.WriteLine("pageCount=" + pageCount + ",rowCount=" + rowCount);
    }

  • 相关阅读:
    字典对象的 Pythonic 用法(上篇:转载)
    代码这样写更优雅(Python 版)(转载)
    [Python爬虫] 之二十七:Selenium +phantomjs 利用 pyquery抓取今日头条视频
    [Python爬虫] 之二十六:Selenium +phantomjs 利用 pyquery抓取智能电视网站图片信息
    [Python爬虫] 之二十五:Selenium +phantomjs 利用 pyquery抓取今日头条网数据
    [Python爬虫] 之二十四:Selenium +phantomjs 利用 pyquery抓取中广互联网数据
    [Python爬虫] 之二十三:Selenium +phantomjs 利用 pyquery抓取智能电视网数据
    MOVE降低高水位 HWM
    select查询语句执行顺序
    Oracle表空间维护总结
  • 原文地址:https://www.cnblogs.com/java20130723/p/3211507.html
Copyright © 2011-2022 走看看