📄 table.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 + -