using System;
using System.Data;
using System.Configuration;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;namespace PerformanceManagement.DLL
{
    public class SqlServer
    {       
            // private member variables
            OleDbConnection con;
            static String m_ConnectionString;            public SqlServer()
            {
                con = new OleDbConnection(ADOHelper.ConnectionString());            }
            public DataSet ExecuteGet(string cmd)
            {
                this.CheckConnection();                DataSet dataSet = new DataSet();                try
                {
                    OleDbCommand dataCommand = new OleDbCommand(cmd, con);
                    OleDbDataAdapter dataAdapter = new OleDbDataAdapter();
                    dataAdapter.SelectCommand = dataCommand;                    dataAdapter.Fill(dataSet, "recordSet");                }
                catch (SqlException se)
                {
                    ErrorLog el = new ErrorLog(se);
                    throw new Exception("Error in SQL", se);
                }
                this.Dispose();
                return dataSet;
            }
            public OleDbDataReader ExecuteRead(String cmd)
            {
                this.CheckConnection();                OleDbDataReader dr = null;                try
                {
                    OleDbCommand dc = new OleDbCommand(cmd, con);
                    dr = dc.ExecuteReader();
                    return dr;
                }
                catch (SqlException se)
                {
                    ErrorLog el = new ErrorLog(se);
                }
                this.Dispose();
                return dr;
            }
            public void ExecuteUpdate(string cmd)
            {
                this.CheckConnection();
                try
                {
                    OleDbCommand dc = new OleDbCommand(cmd, con);
                    dc.ExecuteNonQuery();
                }
                catch (SqlException se)
                {
                    ErrorLog el = new ErrorLog(se);
                }
                this.Dispose();
                return;
            }
            private void CheckConnection()
            {
                try
                {
                    if (con.State != ConnectionState.Open)
                        con.Open();
                }
                catch (System.Data.SqlClient.SqlException se)
                {
                    ErrorLog el = new ErrorLog(se);
                    throw new Exception("Failed to Open connection.", se);
                }
            }
            public static String ConnectionString()
            {
                // Pull the ConnectionString from the ASP+ AppSettings section.
                // Cache in static field for faster repeat access.
                if (m_ConnectionString == null)
                {
                    m_ConnectionString = (String)ConfigurationSettings.AppSettings["ConnectionString"];                    if (m_ConnectionString == null)
                    {
                        throw new Exception("Connect string value not set in Web.config");
                    }
                }
                return m_ConnectionString;            }            public void Dispose()
            {
                try
                {
                    if (con.State == ConnectionState.Open)
                        con.Close();
                    //con = null;
                }
                catch (Exception e)
                {
                    ErrorLog el = new ErrorLog(e);                }
            }
    }
}

解决方案 »

  1.   


    怎么改成访问sql 2000 的 我初学!
      

  2.   

    OleDbConnection 凡是有ole的改成sql
      

  3.   

    这明明就是采用oledb方式访问数据库的方式
    此类用于sql2000是可以,但最好使用sqlclient
      

  4.   


    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data;
    using System.Data.SqlClient;
    using Models;
    namespace DAL
    {
        public class SqlHelper
        {
            //    public SqlConnection getConn(string baseName,string userName,string userPwd)
            //    {
            //        SqlConnection conn = new SqlConnection("Data Source=(local);Database=" + baseName + ";Uid=" + userName + ";Pwd=" + userPwd + ";");
            //        return conn;
            //    }
            private string baseName = "SingleExamSys";
            private string userName = "sa";
            private string userPwd = "sa";
            /// <summary>
            /// 传入参数数据库名,用户名与密码登陆
            /// </summary>
            /// <param name="baseName"></param>
            /// <param name="userName"></param>
            /// <param name="userPwd"></param>
            public void setConn(string baseName, string userName, string userPwd)
            {
                this.baseName = baseName;
                this.userName = userName;
                this.userPwd = userPwd;
            }
            static SqlConnection conn;
            public static void closeConn()
            {
                conn.Close();
            }
            public SqlConnection getConn()
            {
                conn = new SqlConnection("Data Source=(local);Database=" + baseName + ";Uid=" + userName + ";Pwd=" + userPwd + ";");
                conn.Open();
                return conn;
            }
            /// <summary>
            /// 带有一个参数返回DataTble对象的方法
            /// </summary>
            /// <param name="cmdString"></param>
            /// <returns></returns>
            public DataTable getTable(string cmdString)
            {
                DataTable dt = new DataTable();
                SqlConnection conn = getConn();
                SqlDataAdapter sda = new SqlDataAdapter(cmdString, conn);
                sda.Fill(dt);
                conn.Close();
                return dt;
            }
      
            /// <summary>
            /// 带有一个参数返回SqlDataReader对象的方法
            /// </summary>
            /// <param name="cmdString"></param>
            /// <returns></returns>
            public SqlDataReader getReader(string cmdString)
            {
                SqlConnection conn = getConn();
                SqlCommand com = new SqlCommand(cmdString, conn);
                SqlDataReader rd = com.ExecuteReader();
                //conn.Close();
                return rd;
            }
            /// <summary>
            /// 带有一个参数判断是否删除成功并返回bool值的方法
            /// </summary>
            /// <param name="delCmdString"></param>
            /// <returns></returns>        public bool delData(string delCmdString)
            {
                SqlConnection conn = getConn();
                SqlCommand com = new SqlCommand(delCmdString, conn);
                int count = com.ExecuteNonQuery();
                return testCount(count);
            }
            /// <summary>
            /// 带有一个参数判断是否更新成功并返回bool值的方法
            /// </summary>
            /// <param name="updateCmdString"></param>
            /// <returns></returns>
            public bool updateData(string updateCmdString)
            {
                SqlConnection conn = getConn();
                SqlCommand com = new SqlCommand(updateCmdString, conn);
                int count = com.ExecuteNonQuery();
                return testCount(count);
            }
            /// <summary>
            ///  带有一个参数判断是否插入成功并返回bool值的方法
            /// </summary>
            /// <param name="insertCmdString"></param>
            /// <returns></returns>
            public bool insertData(string insertCmdString)
            {
                SqlConnection conn = getConn();
                SqlCommand com = new SqlCommand(insertCmdString, conn);
                int count = com.ExecuteNonQuery();
                return testCount(count);
            }        public bool testCount(int count)
            {
                bool flag = false;
                if (count > 0)
                {
                    flag = true;
                }
                return flag;
            }
            /// <summary>
            /// 添加一行
            /// </summary>
            /// <param name="colName"></param>
            /// <param name="tbName"></param>
            /// <returns></returns>
            public int getId(string colName, string tbName)
            {
                SqlConnection conn = getConn();
                string str = "select MAX(" + colName + ") from " + tbName;
                DataTable dt = getTable(str);
                int id = Convert.ToInt32(dt.Rows[0][0].ToString());
                return (id + 1);
            }
            /// <summary>
            /// 判断是否存在数据项
            /// </summary>
            /// <param name="cmdSql"></param>
            /// <returns></returns>
            public bool existData(string cmdSql)
            {
                SqlConnection con = getConn();
                SqlCommand cmd = new SqlCommand(cmdSql, con);
                int count = Convert.ToInt32(cmd.ExecuteScalar());
                if (count > 0)
                    return true;
                return false;
                
            }
        }
    }
    这个能用来连接sql2000吗?
      

  5.   

    一个是oracle,一个sql,能不能用试一下。不行的话看看哪里出错了,根据错误提示改一下。
      

  6.   

     我搞java 的 临时给我一个C# 的 蛋疼了。
      

  7.   

    道理是一样的,java也有调用方法什么的不是。连接数据库的话都类似
      

  8.   

    LZ,你要求解释,该去看MSDN,里面有解释。
      

  9.   

    简要说下吧,老实说,这些东西,平常都是写好一个类里面的。调用就行了,也没怎么深研究。一般企业级应用都是链接SQL SERVER ,链接字符串不管2000,还是2005,还是2008,都是一样的。.net里面访问数据库有一个框架,叫做ADO.NET。其中包括以下重要的类:1,Connection
    链接类,如果链接SQL SERVER 则用SqlConnection
    2,Command
    对数据源执行命令。同理操作SQL SERVER 则用SqlCommand
    3,DataSet
    核心中的核心,顾名思义,数据集,是以若干个表的形式存储的,每个表的结构和数据库中的表对象几乎差不多。当然一般情况下只用一个表。
    4,DataAdapter
    数据适配器,用于填充dataset。
      

  10.   

    http://msdn.microsoft.com/zh-cn/library/e80y5yhx(v=VS.80).aspx
      

  11.   

    楼主OleDbConnection改成SqlConnection
    还有要该的地方 楼主自己试着吧
      

  12.   

    访问Access数据库的第三方帮助类