• 大小: 71KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-10-13
  • 语言: C#
  • 标签:

资源简介

C#封装MySql数据库操作,反射动态生成SQL语句。看程序前,最好请先看看里面的“数据库说明”文档,不然可能会一头雾水。 这是我第一次写数据库的程序,我知道有很多地方写得不好,希望能得到大家的指点。我的联系方式,邮箱:tqwboy@163.com;QQ:55346161(请注明CSDN);blog:tqwboy.blog.163.com 欢迎“骚扰”。

资源截图

代码片段和文件信息

using System;
using System.Data;
using System.Text;
using System.Collections.Generic;
using System.Reflection; //反射需要引用的空间
using MySql.Data.MySqlClient; //操作MySQL数据库需要引用的空间

namespace DB.Operate
{
    public class Database
    {
        private MySqlConnection myConnection = new MySqlConnection();
        private MySqlCommand mc = new MySqlCommand();
        private MySqlDataReader mdr;

        #region 连接数据库
        public bool ConnectionDB(IEntity entity IField field) //IEntity为数据实体类接口,IField为表字段实体类接口
        {
            bool result = false;

            try
            {
                if(myConnection.State != ConnectionState.Open )
                {
                    StringBuilder sb = new StringBuilder();
                    PropertyInfo[] Epros = entity.GetType().GetProperties(); //获取连接属性
                    PropertyInfo[] Fpros = field.GetType().GetProperties(); //获取连接属性名

                    for (int i = 0; i < Epros.Length && i < Fpros.Length; i++) //拼接连接字符串
                    {
                        sb.Append(Fpros[i].GetValue(field null));
                        sb.Append(“=“);
                        sb.Append(Epros[i].GetValue(entity null));
                        sb.Append(“;“);
                    }
                    sb.Replace(sb.ToString() sb.ToString().TrimEnd(‘;‘));//去掉最后一个分号并加上反括号)结束

                    myConnection = new MySqlConnection(sb.ToString().Trim());
                    myConnection.Open();

                    result = true;
                }
            }
            catch (Exception)
            {
                result = false;
            }
            return result;
        }
        #endregion

        #region 关闭数据库
        public bool CloseDB()
        {
            bool result = false;

            if(myConnection.State == ConnectionState.Open)
            {
                myConnection.Close();
                result = true;
            }
            return result;
        }
        #endregion

        #region 释放连接数据库资源
        public bool DisposeDB()
        {
            bool result = false;

            if (myConnection != null)
            {
                myConnection.Dispose();
                result = true;
            }
            return result;
        }
        #endregion

        #region 数据插入模块
        public bool Inserobject(IEntity entity IField field params string[] formNum)
        {
            bool result = false;
            string infoNum;

            if (formNum.Length != 0)
                infoNum = formNum[0] + “ (“;
            else
                infoNum = “ (“;

            StringBuilder sb = new StringBuilder();//字符串构造器
            sb.Append(“INSERT INTO “);

            PropertyInfo[] Fpros = field.GetType().GetProperties();//获取实现IField接口的类的属性            
            for (int i = 0; i < Fpros.Length; i++) //循环遍历属性集合
            {
                sb.Append(Fpros[i

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件      24576  2009-07-24 17:11  MySql.DB\DB.Operate\bin\Debug\DB.Operate.dll

     文件      38400  2009-07-24 17:11  MySql.DB\DB.Operate\bin\Debug\DB.Operate.pdb

     文件      10675  2009-08-02 11:57  MySql.DB\DB.Operate\Database.cs

     文件        844  2009-07-24 12:20  MySql.DB\DB.Operate\DB.Entity\connection\ConnectionStr.cs

     文件        923  2009-07-24 16:44  MySql.DB\DB.Operate\DB.Entity\connection\ConnectionStr_Field.cs

     文件        149  2009-07-24 11:34  MySql.DB\DB.Operate\DB.Entity\IEntity.cs

     文件        148  2009-07-24 11:34  MySql.DB\DB.Operate\DB.Entity\IField.cs

     文件        665  2009-07-24 11:34  MySql.DB\DB.Operate\DB.Entity\user_info\User_Info.cs

     文件       1064  2009-07-24 11:34  MySql.DB\DB.Operate\DB.Entity\user_info\User_Info_Field.cs

     文件        500  2009-07-24 11:34  MySql.DB\DB.Operate\DB.Entity\user_state\User_State.cs

     文件        878  2009-07-24 11:34  MySql.DB\DB.Operate\DB.Entity\user_state\User_State_Field.cs

     文件       2631  2009-07-24 16:44  MySql.DB\DB.Operate\DB.Operate.csproj

     文件        401  2009-07-24 17:11  MySql.DB\DB.Operate\obj\DB.Operate.csproj.FileListAbsolute.txt

     文件      24576  2009-07-24 17:11  MySql.DB\DB.Operate\obj\Debug\DB.Operate.dll

     文件      38400  2009-07-24 17:11  MySql.DB\DB.Operate\obj\Debug\DB.Operate.pdb

     文件      16384  2009-07-24 16:54  MySql.DB\DB.Operate\obj\Debug\Refactor\DB.Operate.dll

     文件       1327  2009-07-19 11:24  MySql.DB\DB.Operate\Properties\AssemblyInfo.cs

     文件       1385  2009-07-24 11:34  MySql.DB\NetGrid.sln

    ..A..H.     40448  2009-08-02 12:03  MySql.DB\NetGrid.suo

     文件      24576  2009-07-24 17:11  MySql.DB\Test\bin\Debug\DB.Operate.dll

     文件      38400  2009-07-24 17:11  MySql.DB\Test\bin\Debug\DB.Operate.pdb

     文件      16384  2009-07-24 17:11  MySql.DB\Test\bin\Debug\Test.exe

     文件      13824  2009-07-24 17:11  MySql.DB\Test\bin\Debug\Test.pdb

     文件       5632  2005-12-08 14:51  MySql.DB\Test\bin\Debug\Test.vshost.exe

     文件      10663  2009-07-24 17:11  MySql.DB\Test\obj\Debug\ResolveAssemblyReference.cache

     文件      16384  2009-07-24 17:11  MySql.DB\Test\obj\Debug\Test.exe

     文件      13824  2009-07-24 17:11  MySql.DB\Test\obj\Debug\Test.pdb

     文件       1003  2009-08-02 12:02  MySql.DB\Test\obj\Test.csproj.FileListAbsolute.txt

     文件       1949  2009-08-02 12:03  MySql.DB\Test\Program.cs

     文件       1167  2009-07-19 16:33  MySql.DB\Test\Properties\AssemblyInfo.cs

............此处省略26个文件信息

评论

共有 条评论

相关资源