最近今天没事研究了一下关于动软生成器的代码,无奈没有找到关键的部分;今天就把我对获取数据结构的部分代码公布出来,仅供那些想了解的这部分代码的人参考:
关于这个程序大概分为两个部分,一部分是获取数据结构,二、根据数据库表结构生成想要的代码
一、代码部分:
SqlConnection con = GetConntion();
con.Open();
SqlDataAdapter adapter = new SqlDataAdapter("select name from sysdatabases ", con);
DataTable databaseName = new DataTable();
adapter.Fill(databaseName); //获取所有的数据库名字
//c#代码默认数据库的第一个数据,我们想要默认自己的数据库,需要进行设置
SqlCommand cmd = new SqlCommand(string.Format("use {0}", databaseName), con);
cmd.ExecuteNonQuery();
//res 数组是Schema架构的参数0:catalog;1:架构;2:表名称
//获取数据库中所有的表的名称
string[] res = new string[4];
res[1] = "dbo";
DataTable table = con.GetSchema("Tables", res);
this.cmb_Tables.DataSource = table;
this.cmb_Tables.DisplayMember = "TABLE_NAME";
//获取表中列的名称
string[] res = new string[4];
res[1] = "dbo";
res[2] = tableName.ToString();
DataTable table = con.GetSchema("Columns", res);
以上就是获取的数据库表结构的主要代码
二、根据获取数据表结构代码进行拼写自己的简单三层,在这儿就不赘述了,比较简单(简单的字符串拼接)
例如:表示注释的代码”\t:表示缩进,相当于Tab按下; \n:表示换行“
strBuilder.Append("\t\t/// <summary>\n");
strBuilder.Append("\t\t/// " + tableName + "Info \n");
strBuilder.Append("\t\t/// <param name=\"strWhere\">" + tableName + "Info</param>");
strBuilder.Append("\t\t/// </summary>\n");
以上就是我对动软生成器的代码的理解,希望对有需要的有所帮助