更方便快捷的外部操作数据库的方法(另类玩法)

 更新时间:2013年02月04日 09:43:24   作者:  
数据库操作方法很多,各种各样但是外部操作数据库的方法就会显得格外陌生了,感兴趣的朋友可以详细了解下本文,或许对你学习ado.net有所帮助
复制代码 代码如下:

using System;
using System.Data;
using System.Data.SqlClient;
public class Helper
{
public static void Main()
{
//连接字符串
string strcon = "server = .;database = blog;uid = sa;pwd = 1";
SqlHelper helper = new SqlHelper(strcon);
//表employee中有neme(varchar(20)),age(int),sex(bit)三个字段;
string sql = "select * from employee";
SqlDataReader reader = helper.Reader(sql,null);
using (reader)
{
while (reader.Read())
{
Console.WriteLine(reader["name"].ToString());
}
}
/*string sql = "insert into employee values(@name,@age,@sex)";
SqlParameter[] ps = new SqlParameter[]
{
new SqlParameter("@name",SqlDbType.VarChar,20),
new SqlParameter("@age",SqlDbType.Int),
new SqlParameter("@sex",SqlDbType.Int)
};

ps[0].Value = "张宇";
ps[1].Value = 40;
ps[2].Value = 1;
helper.ExecuteNonQuery(sql,ps);*/
}
}
public class SqlHelper
{
private SqlConnection con = null;
private SqlCommand cmd = null;
public SqlHelper (string strcon)
{
con = new SqlConnection(strcon);
cmd = new SqlCommand();
cmd.Connection = con;
}
//执行初始化Command对象
private void PreparedCommand(string sql,params SqlParameter[]param)
{
cmd.CommandText = sql;
//清空Parameteras中的对象
cmd.Parameters.Clear();
if (param!=null)
{
foreach (SqlParameter p in param)
{
cmd.Parameters.Add(p);
}
}
con.Open();
}
/*执行非查询语句*/
//有参数
public int ExecuteNonQuery(string sql,params SqlParameter[] param)
{
PreparedCommand(sql,param);
int i = cmd.ExecuteNonQuery();
Close();
return i;
}
//无参数
public int ExecuteNonQuery(string sql)
{
PreparedCommand(sql,null);
int i = cmd.ExecuteNonQuery();
Close();
return i;
}
/*执行查询语句*/
//有参数
public SqlDataReader Reader(string sql,params SqlParameter[] param)
{
PreparedCommand(sql,param);
return cmd.ExecuteReader();
}
//无参数
public SqlDataReader Reader(string sql)
{
PreparedCommand(sql,null);
return cmd.ExecuteReader();

}

public void Open()
{
con.Open();
}
public void Close()
{
cmd.Dispose();
con.Close();
}

}

相关文章

  • .NET 6中为record类型自定义Equals方法

    .NET 6中为record类型自定义Equals方法

    这篇文章主要介绍了.NET 6中为record类型自定义Equals方法,record类型,这是一种新引用类型,而不是类或结构。record与类不同,区别在于record类型使用基于值的相等性,下文小编将介绍更多详细资料,需要的朋友可以参考一下
    2022-03-03
  • Asp.net实现选择性的保留DataTable中的列

    Asp.net实现选择性的保留DataTable中的列

    选择性的保留DataTable中的列(移除列/保留列不移除/移除不需要的列),很多新手朋友们都想实现这样的功能,本文总结了一些可行方法,感兴趣的朋友可以了解下哦
    2013-01-01
  • ASP.NET WebAPI连接数据库的方法

    ASP.NET WebAPI连接数据库的方法

    这篇文章主要为大家详细介绍了ASP.NET WebAPI连接数据库的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • .NET连接池的问题详解

    .NET连接池的问题详解

    这篇文章主要介绍了.NET连接池的问题详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • asp.net JSONHelper JSON帮助类

    asp.net JSONHelper JSON帮助类

    asp.net JSONHelper JSON帮助类
    2010-01-01
  • asp.net core 2.0 webapi集成signalr(实例讲解)

    asp.net core 2.0 webapi集成signalr(实例讲解)

    下面小编就为大家分享一篇asp.net core 2.0 webapi集成signalr的实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2017-11-11
  • 完美解决api、WebService跨域的问题

    完美解决api、WebService跨域的问题

    下面小编就为大家分享一篇快速解决api、WebService跨域的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-01-01
  • C# 有关Assembly.Unload详解

    C# 有关Assembly.Unload详解

    这篇文章主要介绍了C# 有关Assembly.Unload详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • asp.net 生成静态页笔记

    asp.net 生成静态页笔记

    asp.net 生成静态页笔记,需要在asp.net中生成静态页面的朋友可以参考下。
    2011-06-06
  • asp.net下日期加减的方法

    asp.net下日期加减的方法

    asp.net下日期加减的方法...
    2007-09-09

最新评论