首页 | 互联网 | 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教育

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

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航