惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

N
Netflix TechBlog - Medium
罗磊的独立博客
H
Help Net Security
I
Intezer
G
Google Developers Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
Troy Hunt's Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
U
Unit 42
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
N
News and Events Feed by Topic
J
Java Code Geeks
S
Security Affairs
T
The Blog of Author Tim Ferriss
Recent Commits to openclaw:main
Recent Commits to openclaw:main
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
D
Docker
The GitHub Blog
The GitHub Blog
F
Full Disclosure
N
News and Events Feed by Topic
Webroot Blog
Webroot Blog
S
Security @ Cisco Blogs
腾讯CDC
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
Blog — PlanetScale
Blog — PlanetScale
T
Threatpost
D
DataBreaches.Net
Recent Announcements
Recent Announcements
博客园 - 三生石上(FineUI控件)
MongoDB | Blog
MongoDB | Blog
博客园 - 【当耐特】
L
LINUX DO - 最新话题
Google Online Security Blog
Google Online Security Blog
S
Schneier on Security
S
Securelist
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Help Net Security
Help Net Security
P
Proofpoint News Feed
Project Zero
Project Zero
S
SegmentFault 最新的问题
H
Hackread – Cybersecurity News, Data Breaches, AI and More
MyScale Blog
MyScale Blog
Google DeepMind News
Google DeepMind News
宝玉的分享
宝玉的分享
Y
Y Combinator Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
博客园 - 叶小钗

博客园 - sperp

共享一下自己使用辅助工具的心得 javascript中如何通过被打开的窗体在opener窗体中添加option选项 数据库建模软件 终于把.Net的大部分开源项目整理出来 静态页面的值传递 Session对象 ASP.NET中使用TreeView控件 协调 Web Services ASP .NET 中的身份验证:.NET 安全性指导 C# Delegate 简介 Visual C#中调用Windows服务初探 C#来创建和读取XML文档 ADO.NET使用经验集 用C#开发Pocket PC数据库应用程序 一个FTP客户端的C#代码 c#编写的PING工具 Visual C#托管Socket的实现方法(三) Visual C#托管Socket的实现方法(二) Visual C#托管Socket的实现方法(一)
带有智能完成功能的万能查询分析器的开发心得
sperp · 2007-04-19 · via 博客园 - sperp

 使用Microsoft Vistual Stdio最让人赞不绝口的是它的智能完成,而我们在写SQL语句的时候却还是最原始的方法一个一个字母的输入,我们必须记住每一张表名、字段名、表之间的关联字段信息等等,如何有效的提高开发速度,答案就是实现类似MS的智能完成功能。
        SpDevelop已经实现了数据库设计和基本的查询分析器,在这个基础上开发继续开发,现在已经实现了一下几个功能:

一、智能完成功能
         * 表/视图名称完成
         * 列名称完成
         * JOIN/JOIN ON 完成
         * 自动把关键字转换成大写
         * 关键字自动弹出

二、支持多种数据库
        查询分析器可以支持对MsSQL,Oracle,Sybase,MySQL,ProstgreSQL等多种数据库的操作。

三、多种导入导出功能
        可以将查询出来的结果导出成XML,Text,Excel等格式的数据文件

开发心得:
1、我们采用SharpDevelop中的开源编辑器ICSharpCode.TextEditor为编辑器,并指定为TSQL格式,这个开源的编辑器虽然比不上一些商用的,但基本够用而且速度比较快(打开一兆的SQL语句速度基本不影响), 应用代码如下:

1            TextEditorControl txtEditor = new TextEditorControl();
2            txtEditor.SetHighlighting("TSQL");  //实现SQL着色
3            txtEditor.ShowEOLMarkers = false;
4            txtEditor.ShowSpaces = false;
5            txtEditor.ShowTabs = false;
6            txtEditor.ShowInvalidLines = false;
7            txtEditor.Dock = DockStyle.Fill;
8            txtEditor.VRulerRow = 200;

2、SQL语句的分析,由于SQL语法比较有限,自己编写一个语法分析器。这个语法分析器的难点在于性能的优化上。
3、SpDevelop框架和其中数据库建模插件中已经提供了一些编程接口,获取数据库建模中数据库信息或者连接上各种数据库获取数据库信息。为了实现能够从各种数据库中灵活的获取信息,注意使用继承机制和单一模式来编程
4、导出数据,我们这里就没有再做重复的工作,采用了Rama Krishna一个比较好的导出类

SOS:
1、如何在SQL Server Management Studio Express 2005上开发插件。

如果有开发这方面兴趣的哥们,一块到本园的SpDevelop开发团队来混吧(感谢dudu),欢迎大家的加入!

       现在本插件基本已经可以满足一些日常的操作,可到 

www.spdevelop.com下载。