首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 笔记本电脑 | 北大青鸟 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> C# >> 正文

C#分析数据库结构,使用XSL模板自动生成代码


catch 
{} 
return false; 

public override bool ToXML(System.Xml.XmlElement myElement) 

if(myElement != null) 

<xsl:for-each select="*"> 
myElement.SetAttribute("<xsl:value-of select="translate(@fieldname,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')" />",m_<xsl:value-of select="@fieldname" /><xsl:if test="@isstring='0'">.ToString()</xsl:if>);</xsl:for-each> 
return true; 

return false; 

public override bool FromXML(System.Xml.XmlElement myElement) 

try 

if(myElement != null) 

<xsl:for-each select="*"> 
m_<xsl:value-of select="@fixname" /> = <xsl:if test="@isstring='0'">Convert.ToInt32(</xsl:if>myElement.GetAttribute("<xsl:value-of select="translate(@fieldname,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')" />")<xsl:if test="@isstring='0'">)</xsl:if>;</xsl:for-each> 
return true; 


catch 
{} 
return false; 

}// 数据库操作类 Struct<xsl:value-of select="@tablename" /> 定义结束 
</pre> 
</xsl:for-each> 
</body> 
</html> 
</xsl:template> 
</xsl:stylesheet> 
########################## temp_HTML代码.xml ##################################################### 
<?xml version="1.0" encoding="utf-8" ?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
<xsl:output method="xml" indent="yes" /> 
<xsl:template match="/*"> 
<html> 
<head> 
<style> 
body{ font-family: "宋体"; font-size: 12px} 
table { width:100%; border-collapse:collapse; 
border: 1px #CC0066 solid; font-family: "宋体"; 
font-size: 12px} 
.tablehead{background-color:#CCCCFF} 
td{ border: 1px #CC0066 solid} 
</style> 
</head> 
<body> 
<xsl:for-each select="table"> 
数据表 <b><xsl:value-of select="translate(@tablename,'abcdefghijklmnopqrstuvwxyz','ABCDEFGHIJKLMNOPQRSTUVWXYZ')" /></b> 结构 
共 <xsl:value-of select="count(*)" /> 个字段 
<br /> 
<table > 
<tr class="tablehead"> 
<td>字段名</td> 
<td>类型</td> 
<td>长度</td> 
</tr> 
<xsl:for-each select="*"> 
<tr> 
<td> 
<xsl:value-of select="@fieldname" /> 
</td> 
<td> 
<xsl:value-of select="@fieldtype" /> 
</td> 
<td> 
<xsl:value-of select="@fieldwidth" /> 
</td> 
</tr> 
</xsl:for-each> 
</table> 
<p /><hr /> 
</xsl:for-each> 
</body> 
</html> 
</xsl:template> 
</xsl:stylesheet> 
################################ temp_Java_Struct.xml ########################################
<?xml version="1.0" encoding="utf-8" ?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
<xsl:output method="xml" indent="yes" /> 
<xsl:template match="/"> 
<html><head></head><body> 
<xsl:for-each select="*/table"> 
<br />-------------- 文件名 <xsl:value-of select="@tablename" />.java ----------------------------- 
<pre style=" background-color:gainsboro"> 

package com.haitai.emr.struct; 
import java.sql.*; 
import java.io.*; 
/** <xsl:value-of select="@cname" /> 
* @author 代码生成器 */ 
public class <xsl:value-of select="@tablename" /> implements Serializable 
{ // 定义数据库字段变量 //////////////////////////////////////////////////////////////// 
<xsl:for-each select="*"> 
<xsl:variable name="javatype"> 
<xsl:choose> 
<xsl:when test="@isstring='1'">String </xsl:when> 
<xsl:when test="boolean('true')" >int </xsl:when> 
</xsl:choose> 
</xsl:variable> 
<xsl:variable name="lowfieldname"> 
<xsl:value-of select="translate(@fixname,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')" /> 
</xsl:variable> 
private <xsl:value-of select="$javatype" /> <xsl:text disable-output-escaping="yes"></xsl:text><xsl:value-of select="$lowfieldname" /> ; // 字段 <xsl:value-of select="@cname" /> 
</xsl:for-each> 
public static final String SELECT = 
"Select <xsl:for-each select="*"> 
<xsl:value-of select="normalize-space(@fieldname)" /> 
<xsl:if test="position() != last()">,</xsl:if> 
</xsl:for-each> From <xsl:value-of select="@tablename" />"; 
/** @param conn 
* @exception SQLException */ 
public java.sql.PreparedStatement makeInsSt (java.sql.Connection conn) throws SQLException{ 
PreparedStatement pst=conn.prepareStatement("insert into <xsl:value-of select="@tablename" />(<xsl:for-each select="*"> 
<xsl:value-of select="normalize-space(@fieldname)" /> 
<xsl:if test="position() != last()">,</xsl:if> 
</xsl:for-each>)" 
+"values(<xsl:for-each select="*">?<xsl:if test="position() != last()">,</xsl:if></xsl:for-each>)"); 
int index=0; 
<xsl:for-each select="*"> 
pst.setString(++index,this.get<xsl:value-of select="@fieldname" />()); // <xsl:value-of select="@cname" /> 
</xsl:for-each> 
return pst; 


/** @param conn 
* @exception SQLException */ 
public java.sql.PreparedStatement makeUpdSt (java.sql.Connection conn) throws SQLException{ 

// TODO : implement 
PreparedStatement pst=conn.prepareStatement("update <xsl:value-of select="@tablename" /> set <xsl:for-each select="*"><xsl:value-of select="normalize-space(@fieldname)" /> =? <xsl:if test="position() != last()">,</xsl:if></xsl:for-each>)" 
+"where 数据表关键字段名=?"); 
int index=0; 
<xsl:for-each select="*"> 
pst.setString(++index,this.get<xsl:value-of select="@fieldname" />()); // <xsl:value-of select="@cname" /> 
</xsl:for-each> 

//关键字 
pst.setString(++index,this.get数据表关键字段名());//数据表关键字段说明 

return pst; 


public String toString (){ 

// TODO : implement 
return <xsl:for-each select="*">"<xsl:if test="position() != 1">,</xsl:if><xsl:value-of select="normalize-space(@fieldname)" />="+ <xsl:value-of select="@lowfieldname" /><xsl:if test="position() != last()"> + </xsl:if> 
</xsl:for-each>; 


// 读取和修改数据的接口 
<xsl:for-each select="*"> 
<xsl:variable name="javatype"> 
<xsl:choose> 
<xsl:when test="@isstring='1'">String</xsl:when> 
<xsl:when test="boolean('true')">int</xsl:when> 
</xsl:choose> 
</xsl:variable> 
<xsl:variable name="lowfieldname"> 
<xsl:value-of select="translate(@fieldname,'ABCDEFGHIJKLMNOPQRSTUVWXYZ','abcdefghijklmnopqrstuvwxyz')" /> 
</xsl:variable> 
public <xsl:value-of select="$javatype" /> get<xsl:value-of select="@fieldname" />(){ 
return <xsl:value-of select="normalize-space($lowfieldname)" /> ; 

//@param <xsl:value-of select="@cname" /> 
public void set<xsl:value-of select="@fieldname" />(<xsl:value-of select="@javatype" /> value){ 
<xsl:value-of select="normalize-space($lowfieldname)" /> = value ; 

</xsl:for-each> 
} // 类 <xsl:value-of select="@tablename" /> 定义结束 
</pre> 
</xsl:for-each> 

</body> 
</html> 
</xsl:template> 
</xsl:stylesheet> 
######################################## temp_VB.xml ######################################## 

上一页  [1] [2] [3] [4] 下一页

【责编:Peng】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·开源软件测试工具学习专题
 ·JSP Web开发 入门基础到高手进阶教程…
 ·JavaFX—是Java桌面的新希望么?
 ·安全至上 .NET开发安全策略…
 ·测试用例设计之道-测试用例学习专题
 ·面向Java开发人员的Scala指南
 ·Java设计模式之实例详解
 ·Oracle数据库11g 面向DBA和开发人员的重要新特性…
 ·桌面应用软件编程 J2SE技术详解…
 ·我“炫”我精彩-------WPF开发教程
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航