.net中连接和操作数据库的类

原创 2004年09月22日 13:58:00

因为个人在学习和使用.NET的过程中,为了方便对数据库的连接和操作,查阅了一些资料后根据自己的需要写成此类。
     功能:连接MS SQL数据库
                 读取INI文件
                 操作数据库并返回相应结果

INI文件内容:
[dbconnection]
server=localhost
database=mydatabase
db_user=sa
db_pass=

文件名:Mydb.cs

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
using System.Text.RegularExpressions;
using System.IO;
using System.Web.Mail;
using System.Text;
using System.Xml;
using System.Runtime.InteropServices;

namespace Linkdb
{
 public class Mydb
 {
                public string path;    //INI文件名
  [DllImport("kernel32")]
  private static extern long WritePrivateProfileString(string section,string key,string val,string filePath);
  [DllImport("kernel32")]
  private static extern int GetPrivateProfileString(string section,string key,string def,StringBuilder retVal,int size,string filePath);
  public string ConnStr;
  private int Index;
  public Mydb()
  {
   //IniFile(HttpContext.Current.Server.MapPath("/webwork/dbconn.ini"));
   IniFile(System.Environment.SystemDirectory+"//dbconn.ini");
   string server=ReadValue("dbconnection","server");
   string database=ReadValue("dbconnection","database");
   string db_user=ReadValue("dbconnection","db_user");
   string db_pass=ReadValue("dbconnection","db_pass");
   ConnStr="Provider=SQLOLEDB;Data Source="+server+";Initial Catalog="+database+";User ID="+db_user+";Password="+db_pass+"";
  }

  public bool TestLink()
  {
   try
   {
    OleDbConnection Conn;
    Conn=new OleDbConnection(ConnStr);
    Conn.Open();
    return true;
   }
   catch(Exception)
   {
    return false;
   }
   
  }


  public void IniFile(string INIPath)
  {
   path = INIPath;
  }

   public void WriteValue(string Section,string Key,string Value)
  {
   WritePrivateProfileString(Section,Key,Value,this.path);
  }//写ini

  public string ReadValue(string Section,string Key)
  {
   StringBuilder temp = new StringBuilder(255);
   int i = GetPrivateProfileString(Section,Key,"",temp,255,this.path);
   return temp.ToString();
  }//读ini
 
   
   public OleDbDataReader GetDataReader(string SelectSQL)
    {
    OleDbConnection Conn;
     OleDbCommand Cmd;
     OleDbDataReader myDataReader;
    Conn= new OleDbConnection(ConnStr);
   Conn.Open();
     Cmd = new OleDbCommand(SelectSQL,Conn);
     myDataReader=Cmd.ExecuteReader();
     return myDataReader;
    }
   public DataView GetDataView(string SelectSQL)
    {
    OleDbConnection Conn;
     OleDbDataAdapter Cmd;
     DataSet ds;
     string TableName;
    Conn= new OleDbConnection(ConnStr);
     Cmd = new OleDbDataAdapter(SelectSQL, Conn);
     Index+=1;
     TableName ="Table"+Index;
     ds=new DataSet();
     Cmd.Fill(ds, TableName);
     return(new DataView(ds.Tables[TableName]));
    }
  public void ExecuteSQL(string ActionQuery)
    {
    OleDbConnection Conn;
   Conn= new OleDbConnection(ConnStr);
   Conn.Open();
     OleDbCommand Cmd;
     Cmd = new OleDbCommand(ActionQuery,Conn);
     Cmd.ExecuteNonQuery();
    }

   }
}

编译为dll文件

控制台中输入:csc /target:library Mydb.cs Mydb.dll

应用此类;
先在工程中引用此类
在页面中引用命名空间:
       using Linkdb;
继承此类:
protected Mydb db = new Mydb();

如执行查询:
string sqlstr = “select * from mytable”;
OleDbDataReader dr1 = db.GetDataReader(sqlstr);
if(dr1.Read())
{
...
}

C#.NET操作数据库通用类

下面给出了一个C#操作MS SQL Server 数据库的通用类,通过该类可以对数据库进行任何操作,包括执行SQL语句、执行存储过程。以下是其详细实现过程,希望大家共同修改优化之。稍后将介绍如何使用它...
  • ecjtuync
  • ecjtuync
  • 2007年04月25日 16:47
  • 1466

C#.NET访问数据库的通用类(Access篇)

配置web.config文件:配置数据库连接参数 appSettings>      connStr参数设置,事例说明:  (1)Sql server数据库,例如“server=local;datab...
  • dj1232090
  • dj1232090
  • 2008年05月10日 00:09
  • 1143

ASP.NET操作Oracle数据库方法

ASP.NET连接oracle数据库 首先我们在
  • lizhangyong1989
  • lizhangyong1989
  • 2014年06月01日 17:20
  • 3119

C#全能数据库操作类及调用示例

[csharp]using System;using System.Data;using System.Data.Common;using System.Configuration;namespace...
  • u011555996
  • u011555996
  • 2018年01月06日 21:46
  • 114

.NET通用的数据库操作类(支持多种数据库)

通用的数据库操作类(支持多种数据库)       我们在软件开发过程中,数据库是一个永久不变的话题,但是根据软件架构与客户要求的不同我们会选择不同的数据库,在C#中不同数据库操作编写代码不尽相同...
  • qq798833488
  • qq798833488
  • 2016年05月13日 11:02
  • 4611

.NET:一个非常好用的SQL数据库处理类

using System; using System.Collections.Generic; using System.Collections; using System.Collections.S...
  • starcuan
  • starcuan
  • 2014年03月17日 01:31
  • 1280

C# Mysql封装操作类

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D...
  • lile1234_show
  • lile1234_show
  • 2015年04月18日 11:02
  • 4611

访问数据库通用类 VB.NET

访问数据库通用类  VB.NET    这是在学习的 NET 的时候写的一个数据访问类 不完善的地方请网友指正。同样也适合初学者参考Imports System.DataImports System....
  • heimaoxiaozi
  • heimaoxiaozi
  • 2007年08月13日 14:08
  • 1965

.NET与常见数据库连接的方式

  一.   Net与数据库的连接方式总结..Net可以与目前流行的所有数据库建立连接,建立连接后便可以访问和查询该数据库,现在一一介绍三种数据库的连接方式.2.1Oracle数据库的连接在与orac...
  • stone0419
  • stone0419
  • 2007年09月13日 13:49
  • 5360

net 数据库连接详解

ADO.NET与抽水的故事 ADO.NET是微软新一代.NET数据库的访问架构,ADO是ActiveX Data Objects的缩写。ADO.NET是数据库应用程序和数据源之间沟通的桥梁,主要提供...
  • ycl295644
  • ycl295644
  • 2015年03月20日 10:54
  • 1405
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.net中连接和操作数据库的类
举报原因:
原因补充:

(最多只允许输入30个字)