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);
}

 





























本文转自蓬莱仙羽51CTO博客,原文链接:http://blog.51cto.com/dingxiaowei/1366638,如需转载请自行联系原作者


相关文章
|
7月前
|
开发框架 JavaScript .NET
asp.net中条件查询+分页
asp.net中条件查询+分页
|
2月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:详细步骤与最佳实践指南ali01n.xinmi1009fan.com
随着Web开发技术的不断进步,ASP.NET已成为一种非常流行的Web应用程序开发框架。在ASP.NET项目中,我们经常需要与数据库进行交互,特别是SQL数据库。本文将详细介绍如何在ASP.NET项目中连接SQL数据库,并提供最佳实践指南以确保开发过程的稳定性和效率。一、准备工作在开始之前,请确保您
199 3
|
2月前
|
SQL XML 关系型数据库
入门指南:利用NHibernate简化.NET应用程序的数据访问
【10月更文挑战第13天】NHibernate是一个面向.NET的开源对象关系映射(ORM)工具,它提供了从数据库表到应用程序中的对象之间的映射。通过使用NHibernate,开发者可以专注于业务逻辑和领域模型的设计,而无需直接编写复杂的SQL语句来处理数据持久化问题。NHibernate支持多种数据库,并且具有高度的灵活性和可扩展性。
41 2
|
2月前
|
SQL 开发框架 .NET
ASP.NET连接SQL数据库:实现过程与关键细节解析an3.021-6232.com
随着互联网技术的快速发展,ASP.NET作为一种广泛使用的服务器端开发技术,其与数据库的交互操作成为了应用开发中的重要环节。本文将详细介绍在ASP.NET中如何连接SQL数据库,包括连接的基本概念、实现步骤、关键代码示例以及常见问题的解决方案。由于篇幅限制,本文不能保证达到完整的2000字,但会确保
|
4月前
|
缓存 NoSQL 网络协议
【Azure Redis 缓存】Redisson 连接 Azure Redis出现间歇性 java.net.UnknownHostException 异常
【Azure Redis 缓存】Redisson 连接 Azure Redis出现间歇性 java.net.UnknownHostException 异常
100 1
|
4月前
|
开发框架 .NET 数据库连接
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
闲话 Asp.Net Core 数据校验(三)EF Core 集成 FluentValidation 校验数据例子
|
5月前
|
开发框架 JSON 前端开发
利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
利用查询条件对象,在Asp.net Web API中实现对业务数据的分页查询处理
|
4月前
|
开发框架 前端开发 算法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
分享 .NET EF6 查询并返回树形结构数据的 2 个思路和具体实现方法
|
4月前
|
Oracle 关系型数据库
Navicat 连接Oracle ORA-28547: connection to server failed, probable Oracle Net admin error
Navicat 连接Oracle ORA-28547: connection to server failed, probable Oracle Net admin error
117 0
|
4月前
|
SQL Oracle 关系型数据库
.NET 开源快捷的数据库文档查询和生成工具
【8月更文挑战第1天】推荐几款.NET开源数据库文档工具:1. DBDocumentor,支持多类型数据库,快速生成详尽文档;2. SqlDoc,界面简洁,自定义内容与格式;3. DBInfo,强大查询功能,支持多种导出格式。这些工具有效提升文档管理效率与质量。