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

 更新时间: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();
}

}

相关文章

  • asp.net利用HttpModule实现防sql注入

    asp.net利用HttpModule实现防sql注入

    关于sql注入,已经被很多人讨论过了。这篇没有新意功能也不够通用,nnd,不想引起口水,就是觉得简单而且思路有参考性才贴出来。
    2009-12-12
  • jQuery实现金额录入框

    jQuery实现金额录入框

    前端开发过程中,通常会用到数值录入框,比如要求输入金额,禁止录入非数值字符,也禁止粘贴非数值字符,本文主要对其实现方法进行介绍,需要的朋友一起来看下吧
    2016-12-12
  • 基于ASP.NET+easyUI框架实现图片上传功能(表单)

    基于ASP.NET+easyUI框架实现图片上传功能(表单)

    这篇文章主要介绍了基于ASP.NET+easyUI框架实现图片上传功能的相关资料,需要的朋友可以参考下
    2016-06-06
  • 在ASP.NET2.0中通过Gmail发送邮件的代码

    在ASP.NET2.0中通过Gmail发送邮件的代码

    我们有时候需要发送邮件给访问网页的用户,例如,注册的时候,发一确认信什么的。那么,在ASP.NET2.0中该如果操作呢?
    2008-06-06
  • 加密web.config的方法分享

    加密web.config的方法分享

    加密web.config的方法分享,需要的朋友可以参考一下
    2013-03-03
  • .NET中接口与类的区别浅析

    .NET中接口与类的区别浅析

    在我们日常开发中经常会用到接口与类,这两者之间究竟有什么区别呢?又有哪些优缺点?下面这篇文章就来给大家介绍了关于.NET中接口与类区别的相关资料,需要的朋友们可以参考借鉴,下面来一起看看吧。
    2017-08-08
  • .NET实现仓储Repository(AI)的操作方法

    .NET实现仓储Repository(AI)的操作方法

    仓储模式是一种在应用程序中使用的设计模式,它将数据访问逻辑与业务逻辑分离,通过仓储接口和仓储实现类,您可以定义和实现数据的增删改查操作,这篇文章主要介绍了.NET 实现仓储Repository(AI),需要的朋友可以参考下
    2023-09-09
  • c#加密类使用方法示例

    c#加密类使用方法示例

    这篇文章主要介绍了c#加密类使用方法,大家可以参考使用
    2013-11-11
  • .Net Core3 用Windows 桌面应用开发Asp.Net Core网站

    .Net Core3 用Windows 桌面应用开发Asp.Net Core网站

    这篇文章主要介绍了.Net Core3 用Windows 桌面应用开发Asp.Net Core网站,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • ASP.NET中水晶报表的使用方法详解

    ASP.NET中水晶报表的使用方法详解

    这篇文章介绍了ASP.NET中水晶报表的使用方法,有需要的朋友可以参考一下
    2013-11-11

最新评论