⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 table.cs

📁 改程序能够查询课程表
💻 CS
字号:
using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;
using System.IO;


namespace test
{
   public  class Display
    {
        public String control;
        public String toValue;
    
    }
    
   public  class ConTraint
    {
        public String ConTraintType;//约束名
        public String ConTraintValue;//约束值
       
    
    }
    
   public  class Field
    {
        public String FieldName;
        public String FieldType;
       public String FieldDescription;
        public ArrayList arrConstraints;
        public Display display;
      
        public Boolean Check( String value) 
        {
            foreach (ConTraint conTraint in arrConstraints)
            { 
               if (conTraint.ConTraintType.Equals ("isNull")  )
                {
                    if (value == null) return false;
                    
                }
                if (conTraint.ConTraintType.Equals("max"))
                {
                    return true;
                
                }
            
            }
            return true;
        }
    }
    public class Table
    {
        public String TableName;
        public ArrayList Fields;
        public String AccesFileName="";
        public Table()
        {
            Fields = new ArrayList();
        }
        public Boolean  changeTableToObjectFile(String filePath,String nameSpace )
        { 
           string filename; 
           filename =filePath +"\\"+TableName+".cs";
           //测试文件是否已经存在
           if (File.Exists(filename ))
           {
               File.Delete(filename);
           }
           FileStream fs = new FileStream(filename, FileMode.CreateNew);
           StreamWriter sw = new StreamWriter(fs,Encoding.Default  );
           sw.WriteLine("using System; ");
           sw.WriteLine("using System.Collections.Generic;");
           sw.WriteLine("using System.Text;");

           sw.WriteLine("namespace  " + nameSpace);
           sw.WriteLine("{");
           sw.WriteLine("public class "+TableName );
           sw.WriteLine("{");
            

           foreach (Field  field in Fields )//遍历每一张表
           {
                
               String dataType = "";
               if (field.FieldType.Equals("130"))dataType ="String"   ;
               if (field.FieldType.Equals("3")) dataType = " Int32";
               if (field.FieldType.Equals("4")) dataType = "float";
               if (field.FieldType.Equals("2")) dataType = "int";

               sw.WriteLine(" public "+dataType +"  "+field.FieldName+";"  );
           }
           sw.WriteLine("public "+TableName +"(){ }");
           sw.WriteLine("}");
           sw.WriteLine("}");
           sw.Close();
           fs.Close();
           return true;
           
        
        }
        public Boolean changeTableToObjectAttributeFile(String filePath, String nameSpace)
        {
            string filename;
            filename = filePath + "\\" + TableName + ".cs";
            //测试文件是否已经存在
            if (File.Exists(filename))
            {
                File.Delete(filename);
            }
            FileStream fs = new FileStream(filename, FileMode.CreateNew);
            StreamWriter sw = new StreamWriter(fs, Encoding.Default);
            sw.WriteLine("using System; ");
            sw.WriteLine("using System.Collections.Generic;");
            sw.WriteLine("using System.Text;");

            sw.WriteLine("namespace  " + nameSpace);
            sw.WriteLine("{");
            sw.WriteLine("public class " + TableName);
            sw.WriteLine("{");

          
            foreach (Field field in Fields)//遍历每一字段
            {


                String dataType = "";
                if (field.FieldType.Equals("130")) dataType = "string";
                if (field.FieldType.Equals("3")) dataType = " Int32";
                if (field.FieldType.Equals("4")) dataType = "float";
                if (field.FieldType.Equals("5")) dataType = "float";  //双精度
                if (field.FieldType.Equals("7")) dataType = "string";  //日期类型
                if (field.FieldType.Equals("2")) dataType = "int";
                sw.WriteLine(" private " + dataType + "  m_" + field.FieldName + ";");
                sw.WriteLine(" public " + dataType + "  " + field.FieldName + "");

               
                sw.WriteLine ("{");
                sw.WriteLine (" get");
                sw.WriteLine ("{  ");
                sw.WriteLine ("  return m_"+ field.FieldName +";");
                sw.WriteLine (" }");
                sw.WriteLine (" set");
                sw.WriteLine (" {");
                sw.WriteLine ( "m_"+ field.FieldName +" = value;");
                sw.WriteLine (" }");
                sw.WriteLine ("}");
        }
           
            sw.WriteLine("}");
            sw.WriteLine("}");
            sw.Close();
            fs.Close();
            return true;


        }


        public Boolean changeTableToObjectLocatorFile(String filePath, String nameSpace)
        {
            string filename;
            filename = filePath + "\\" + TableName + "DAO.cs";
            //测试文件是否已经存在
            if (File.Exists(filename))
            {
                File.Delete(filename );
                
            }
            FileStream fs = new FileStream(filename, FileMode.CreateNew);
            StreamWriter sw = new StreamWriter(fs, Encoding.Default);
            sw.WriteLine("using System; ");
            sw.WriteLine("using System.Collections.Generic;");
            sw.WriteLine("using System.Text;");
            sw.WriteLine("using System.Data.OleDb;");
            sw.WriteLine("using System.Collections;");

            sw.WriteLine("namespace  " + nameSpace);
            sw.WriteLine("{");
            sw.WriteLine("public class " + TableName+"DAO");
            sw.WriteLine("{");
            //DATA_TYPE  
            //string   130
            //longint    3
            //float   4
            // int    2
            sw.WriteLine("OleDbConnection ConDB; ");
            sw.WriteLine("OleDbCommand DbCommand;");
            sw.WriteLine("OleDbDataReader DataReader;");
            sw.WriteLine("OleDbDataAdapter oleDbDataAdapter;");

            //创建构造函数
            sw.WriteLine("public  " +TableName +"DAO()");
            sw.WriteLine("{");
            sw.WriteLine(" ConDB = new OleDbConnection(\"Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+"test.db.mdb" +"\");");
           // sw.WriteLine("ConDB.Open();");
            sw.WriteLine("}");


            //创建FindALl函数


            sw.WriteLine("public ArrayList  FindAll" + "()");
            sw.WriteLine("{");
            sw.WriteLine(" String SQL;");
            sw.WriteLine("SQL = \"select * from " + TableName +"\";");
            sw.WriteLine("ArrayList Arr"+TableName+" = new ArrayList();");
            sw.WriteLine("DbCommand = new OleDbCommand(SQL, ConDB);");
            sw.WriteLine("DbCommand.Connection.Open();");
            sw.WriteLine("DataReader = DbCommand.ExecuteReader();");
            sw.WriteLine("while (DataReader.Read())");
            sw.WriteLine("{");
            sw.WriteLine(TableName +" "+TableName +" = new "+TableName +"();");
            int i = 0;
            foreach (Field field in Fields)//遍历每一个字段
            {

                String dataType = "";

                //student.age = (int.Parse)(DataReader["age"].ToString());
                 

                if (field.FieldType.Equals("130")) //dataType = "String";
                {
                    sw.WriteLine(TableName + "." + field.FieldName + "=" + "DataReader[\"" + field.FieldName  + "\"].ToString();");

                }
               
                if (field.FieldType.Equals("3")) //dataType = "long int ";
                {
                    sw.WriteLine(TableName + "." + field.FieldName + "=" + "Int32.Parse(DataReader[\"" + field.FieldName + "\"].ToString());");

                }
                if (field.FieldType.Equals("4")) //dataType = "float 4";
                {
                    sw.WriteLine(TableName + "." + field.FieldName + "=" + " float.Parse (DataReader[\"" + field.FieldName + "\"].ToString());");

                }
                if (field.FieldType.Equals("2")) //dataType = "int";
                {
                    sw.WriteLine(TableName + "." + field.FieldName + "=" + "int.Parse (DataReader[\"" + field.FieldName + "\"].ToString());");

                }
                i++;
                             
            }
            sw.WriteLine(" Arr" + TableName + ".Add("+TableName +");");
            sw.WriteLine("}");
            sw.WriteLine("DataReader.Close();");
            sw.WriteLine("ConDB.Close();");
            sw.WriteLine(" return Arr"+TableName +";");
            sw.WriteLine("}");

            //FIND ALL 函数创建完毕



            //创建插入函数
            sw.WriteLine("public Boolean  Add" + TableName + "("+TableName +"  "+TableName+")");
            sw.WriteLine("{");
            sw.WriteLine(" String SQL;");
            String SQL = "";
            sw.WriteLine("try");
            sw.WriteLine("{");

            SQL = "SQL = \"insert into " + TableName + " (";
            int count = Fields.Count;//获得表中字段的数目
            int currentFieldOrder = 0;//当前字段编号
            foreach (Field field in Fields)//遍历每一个字段
            {
                currentFieldOrder++;
               // if (field.FieldName.Equals("id")) continue;
                SQL = SQL +"["+ field.FieldName+"]";
                if (currentFieldOrder!=count) SQL = SQL + ",";
            }
            
            SQL = SQL + ") values (";
            currentFieldOrder = 0;
            foreach (Field field in Fields)//遍历每一个对象属性字段
            {
               
                currentFieldOrder++;
              //  if (field.FieldName.Equals("id")) continue;
                SQL = SQL + "@" + field.FieldName;
                if (currentFieldOrder != count) SQL = SQL + ",";
            }
            SQL = SQL + ")\";";
            sw.WriteLine(SQL);

           
            sw.WriteLine( "DbCommand = new OleDbCommand(SQL, ConDB);");
            sw.WriteLine( "DbCommand.Connection.Open();");
            foreach (Field field in Fields)//遍历每一个对象属性字段
            {
                 if (field.FieldName.Equals("id")) continue;
                 sw.WriteLine("DbCommand.Parameters.Add(\"@"+ field.FieldName +"\", "+TableName+"."+field.FieldName +");");
            }
            sw.WriteLine("  DataReader = DbCommand.ExecuteReader();");
            sw.WriteLine(" DataReader.Close();");
            sw.WriteLine("ConDB.Close();");
            sw.WriteLine("return true ;");
            sw.WriteLine("}");
            sw.WriteLine(" catch (System.Exception ex)");
            sw.WriteLine("{");
            sw.WriteLine("return false ;");
            sw.WriteLine("}");
            sw.WriteLine("}");
         

            //创建插入函数完毕



            //创建删除函数
            sw.WriteLine("public Boolean  Del" + TableName + "ByPK(Int32 id)");
            sw.WriteLine("{");
            sw.WriteLine(" String SQL;");
          
           // sw.WriteLine("try");
            //sw.WriteLine("{");

            SQL = "SQL = \"delete from " + TableName + " where id=@id";
          
           

            SQL = SQL + "\";";
    
            sw.WriteLine(SQL);


            sw.WriteLine("DbCommand = new OleDbCommand(SQL, ConDB);");
            sw.WriteLine("DbCommand.Connection.Open();");
            foreach (Field field in Fields)//遍历每一个对象属性字段
            {
                if (field.FieldName.Equals("id")) 
                sw.WriteLine("DbCommand.Parameters.Add(\"@" + field.FieldName + "\", " +"id" + ");");
            }
            sw.WriteLine("  DataReader = DbCommand.ExecuteReader();");
            sw.WriteLine(" if (DataReader.RecordsAffected==1)");
             sw.WriteLine("{");
             sw.WriteLine("    DataReader.Close();");
             sw.WriteLine("    ConDB.Close();");
             sw.WriteLine("    return true;");
            sw.WriteLine(" }");
             sw.WriteLine("else");
            sw.WriteLine(" {");
            sw.WriteLine("     DataReader.Close();");
              sw.WriteLine("   ConDB.Close();");
             sw.WriteLine("    return false;");
             sw.WriteLine("}");

             sw.WriteLine("}");

            //创建删除函数完毕





             //创建更新函数
             sw.WriteLine("public Boolean  Update" + TableName + "(" + TableName + "  " + TableName + ")");
             sw.WriteLine("{");
             sw.WriteLine(" String SQL;");
             
           

             SQL = "SQL = \"update  " + TableName + "  set  ";

             currentFieldOrder = 0;
             foreach (Field field in Fields)//遍历每一个对象属性字段
             {

                 currentFieldOrder++;
                 if (field.FieldName.Equals("id")) continue;
                 SQL = SQL +"["+ field.FieldName+"]=@" + field.FieldName;
                 if (currentFieldOrder != count) SQL = SQL + ",";
             }
             SQL = SQL + "  where id=@id\";";
             sw.WriteLine(SQL);
             sw.WriteLine("DbCommand = new OleDbCommand(SQL, ConDB);");
             sw.WriteLine("DbCommand.Connection.Open();");
             foreach (Field field in Fields)//遍历每一个对象属性字段
             {
                 if (field.FieldName.Equals("id")) continue;
                 sw.WriteLine("DbCommand.Parameters.Add(\"@" + field.FieldName + "\", " + TableName + "." + field.FieldName + ");");
             }
             sw.WriteLine("DbCommand.Parameters.Add(\"@id" +  "\", " + TableName + "." + "id);");
             sw.WriteLine("  DataReader = DbCommand.ExecuteReader();");
             sw.WriteLine(" if (DataReader.RecordsAffected==1)");
             sw.WriteLine("{");
             sw.WriteLine("    DataReader.Close();");
             sw.WriteLine("    ConDB.Close();");
             sw.WriteLine("    return true;");
             sw.WriteLine(" }");
             sw.WriteLine("else");
             sw.WriteLine(" {");
             sw.WriteLine("     DataReader.Close();");
             sw.WriteLine("   ConDB.Close();");
             sw.WriteLine("    return false;");
             sw.WriteLine("}");

             sw.WriteLine("}");


             //创建更新函数完毕

            sw.WriteLine("}");
            sw.WriteLine("}");
            sw.WriteLine("" );
            sw.Close();
            fs.Close();
            return true;


        }
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -