我刚刚从VB转过来。不但不懂C#,也不熟悉VS2005的使用?我当前最急迫的两个问题:
1. 如何在VS 2005中创建数据库访问类?用到字符串。我的数据库是SQL 2000.请说明VS 2005界面的操作过程。
2.已经创建的Window 界面如何通过这个数据库类调用SQL 2000的表数据?请说明代码如何写?谢谢容忍我这般菜!

解决方案 »

  1.   

    你可用vs05的数据集,在项目右键添加新文件(xsd文件)。把数据库的表拖过来,然后ms文帮你生成你要的数据访问层的类。
    调用: 
     [DataObject]
        public class InquirySum
        {
            private InquirySumTableAdapter adapter;
            public InquirySum()
            {
                adapter = new InquirySumTableAdapter();
            }        [DataObjectMethodAttribute(DataObjectMethodType.Select, true)]
            public Inquiry.InquirySumDataTable Select()
            {
                return adapter.GetDataInquiryList();
            }
            [DataObjectMethodAttribute(DataObjectMethodType.Select, false)]
            public Inquiry.InquirySumDataTable Select(int id)
            {
                InquirySumTableAdapter ad = new InquirySumTableAdapter();
                return adapter.GetDataById(id);
            }        [DataObjectMethodAttribute(DataObjectMethodType.Update, true)]
            public void Update(string englishName, string title, string description, int feeTypeDict, int stateDict,
                DateTime createTime, int point, int themeNum, int fee, int original_inquiryId)
            {
                Inquiry.InquirySumDataTable dt = adapter.GetDataById(original_inquiryId);
                Inquiry.InquirySumRow dr = dt[0];
                dr.englishName = englishName;
                dr.title = title;
                dr.description = description;
                dr.feeTypeDict = feeTypeDict;
                dr.point = point;
                dr.themeNum = themeNum;
                dr.fee = fee;
                int i = adapter.Update(dr);
            }        [DataObjectMethodAttribute(DataObjectMethodType.Insert, true)]
            public void Insert(string englishName, string title, string description, int feeTypeDict, int stateDict,
                DateTime createTime, int point, int themeNum, int fee)
            {
                Inquiry.InquirySumDataTable dt = new Inquiry.InquirySumDataTable();
                Inquiry.InquirySumRow dr = dt.NewInquirySumRow();
                dr.englishName = englishName;
                dr.title = title;
                dr.description = description;
                dr.feeTypeDict = feeTypeDict;
                dr.stateDict = 1;
                dr.point = point;
                dr.themeNum = themeNum;
                dr.fee = fee;
                dr.createTime = DateTime.Now;
                dt.AddInquirySumRow(dr);
                int i = adapter.Update(dt);
            }
        }
      

  2.   

    有什么不明白的再问,建议你看看Scott Mitchell 的ASP_NET 2_0数据教程01 创建一个数据访问层,非常清楚!!
      

  3.   

    string sqlcon="Data Source=.;Initial Catalog=数据库名;Integrated Security=True";
    sql server window身份验证
      

  4.   

    新建项目--类库  比如database类--在这里就可以写连接sql server 的字符窜了 在建一个form类 添加database类的引用 就可以引用了代码中在加一句using database
      

  5.   

    有form的项目中右键引用 添加引用 项目中选database
      

  6.   

    新建一个类,把下面的代码拷进去就可以访问了...
    using System;
    using System.Data;
    using System.Data.SqlClient;namespace DBAccess
    {
    /// <summary>
    /// Class1 的摘要说明。
    /// </summary>
        public class Class1
        {
            private SqlConnection conn = null;
            private SqlCommand cmd = null;
            private string connStr = null;        public string ConnStr
            {
                set
                {
                    this.connStr = value;
                }
                get
                {
                    return this.connStr;
                }
            }
            public Class1()
            {
                this.connStr = ("server = (local) ; database = demo ; uid = sa ; pwd = sa");
                this.conn = new SqlConnection(this.connStr);
            }
            /// <summary>
            /// 有参构造函数
            /// </summary>
            /// <param name="connectionString"></param>
            public Class1(string connectionString)
            {
                //指定连接字体串
                this.connStr = connectionString;            //创建连接对象
                this.conn = new SqlConnection(this.connStr);
            }        /// <summary>
            /// 打开数据库连接
            /// </summary>
            public void Open()
            {
                if (this.conn != null && this.conn.State == ConnectionState.Closed)
                {
                    this.conn.Open();
                }
            }        /// <summary>
            /// 关闭数据库连接
            /// </summary>
            public void Close()
            {
                if (this.conn != null && this.conn.State == ConnectionState.Open)
                {
                    this.conn.Close();
                }
            }        /// <summary>
            /// 执行返回数据集的存储过程
            /// 适用于断开模式的查询
            /// </summary>
            /// <param name="proc"></param>
            /// <param name="paraList"></param>
            /// <returns></returns>
            public DataSet ExcuteReturnDataSet(string proc, SqlParameter[] paramList)
            {            //创建命令对象
                this.cmd = new SqlCommand();            //指定连接对象
                this.cmd.Connection = this.conn;            //指定命令类型
                this.cmd.CommandType = CommandType.StoredProcedure;            //指定存储过程名
                this.cmd.CommandText = proc;            //设置参数
                if (paramList != null && paramList.Length > 0)
                {
                    foreach (SqlParameter para in paramList)
                    {
                        this.cmd.Parameters.Add(para);
                    }
                }            //创建数据适配器
                SqlDataAdapter da = new SqlDataAdapter();            //指定数据适配器所用的查询命令
                da.SelectCommand = this.cmd;            //创建数据集
                DataSet ds = new DataSet();            //填充
                da.Fill(ds);            //返回数据集
                return ds;
            }        /// <summary>
            /// 执行无返回值的存储过程
            /// 适用于连接模式的增、删、改
            /// </summary>
            /// <param name="proc"></param>
            /// <param name="paramList"></param>
            public void ExcuteCommand(string proc, SqlParameter[] paramList)
            {
                //打开数据库连接
                this.Open();            //创建命令对象
                this.cmd = new SqlCommand();            //指定连接对象
                this.cmd.Connection = this.conn;            //指定命令类型
                this.cmd.CommandType = CommandType.StoredProcedure;            //指定存储过程名
                this.cmd.CommandText = proc;            //设置参数
                if (paramList != null && paramList.Length > 0)
                {
                    foreach (SqlParameter para in paramList)
                    {
                        this.cmd.Parameters.Add(para);
                    }
                }            //执行存储过程
                this.cmd.ExecuteNonQuery();
                //关闭数据库连接
                this.Close();
            }
        }
    }