65.9K
CodeProject 正在变化。 阅读更多。
Home

将 SQL Server 数据库表描述写入 Word 文档

starIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

1.00/5 (8投票s)

2005年8月18日

2分钟阅读

viewsIcon

59926

downloadIcon

1105

窗口应用程序生成带有 Sql Server 数据库表的文档。

引言

此工具是一个简单的 Windows 应用程序,它接受 Word 文档的路径,您希望在该文档中创建和 Microsoft Sql Server 数据库名称。

此应用程序使用 Word 应用程序库“Microsoft Office 10.0 对象库”和“Microsoft Word 10.0 对象库”来创建文档。

工作原理

首先,它将尝试打开数据库,它使用 System.Data 命名空间的 SqlConnection 类,然后使用 SqlCommand、SqlDataAdapter 类从 SqlServer 数据库获取数据。

//连接字符串

字符串connectionString = "Integrated Security=SSPI;Server={ServerName};Persist Security Info=False;Initial Catalog={DatabaseName};

//打开连接

SqlConnection sqlCon =newSqlConnection(connectionString);

sqlCon.Open();

之后构造 SqlCommand、SqlDataAdpater 类对象

//设置命令文本

SqlCommand command =newSqlCommand("SELECT Name, ID FROM sysObjects WHERE sysObjects.Type = 'U'",sqlCon);

command.CommandType = CommandType.Text;

//填充适配器

SqlDataAdapter cadapter =newSqlDataAdapter(command);

DataSet cdataSet =newDataSet();

cadapter.Fill(cdataSet);

为了从数据库中获取数据库表信息,我们使用 - 以下查询

"SELECT Name, ID FROM sysObjects WHERE sysObjects.Type = 'U'"

从数据库中提取数据库表后,为了获取与数据库表关联的列描述 - 使用以下查询

 SELECT sysColumns.Name AS ColumnName," +

"sysTypes.name AS DataType, "+

"sysColumns.Length AS Length, " +

"sysColumns.Status AS Status " +

"FROM sysColumns, sysTypes " +

"WHERE sysColumns.id = " + {table_name}+

" AND sysColumns.usertype = sysTypes.usertype";

构造列信息,制作 Word 表格格式并写入文档。

并关闭数据库连接

如何使用 Word、Document 类

添加以下引用 -

----  Microsoft Office 10.0 对象库

----  Microsoft Word 10.0 对象库

Word._Application word =null;

Word._Document doc =null;

doc = word.Documents.Add(refmissing,refmissing,refmissing,refmissing);

doc.SaveAs(reffile,refmissing,refmissing,refmissing,refmissing,refmissing,

                refmissing,refmissing,refmissing,refmissing,refmissing,refmissing,

                refmissing,refmissing,refmissing,refmissing);

doc = word.Documents.Open(reffile,refmissing,refmissing,refmissing,refmissing,

                                       refmissing,refmissing,refmissing,refmissing,refmissing,

                                       refmissing,reffalseValue,refmissing,refmissing,refmissing);

doc.Activate();

 

 

© . All rights reserved.