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

推荐订阅源

B
Blog RSS Feed
Cloudbric
Cloudbric
V
Vulnerabilities – Threatpost
P
Privacy International News Feed
C
Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
The Hacker News
The Hacker News
A
Arctic Wolf
云风的 BLOG
云风的 BLOG
Cyberwarzone
Cyberwarzone
F
Full Disclosure
The GitHub Blog
The GitHub Blog
L
LangChain Blog
博客园 - 三生石上(FineUI控件)
C
Cyber Attacks, Cyber Crime and Cyber Security
S
Schneier on Security
T
Threatpost
博客园 - Franky
H
Hackread – Cybersecurity News, Data Breaches, AI and More
F
Fortinet All Blogs
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Cisco Talos Blog
Cisco Talos Blog
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
博客园 - 聂微东
Vercel News
Vercel News
T
The Exploit Database - CXSecurity.com
IT之家
IT之家
I
InfoQ
C
CERT Recently Published Vulnerability Notes
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Y
Y Combinator Blog
GbyAI
GbyAI
L
LINUX DO - 热门话题
Simon Willison's Weblog
Simon Willison's Weblog
MongoDB | Blog
MongoDB | Blog
Attack and Defense Labs
Attack and Defense Labs
P
Proofpoint News Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
N
Netflix TechBlog - Medium
T
Threat Research - Cisco Blogs
Spread Privacy
Spread Privacy
W
WeLiveSecurity
Martin Fowler
Martin Fowler
P
Privacy & Cybersecurity Law Blog
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志
Latest news
Latest news
S
Security Affairs
H
Hacker News: Front Page

博客园 - spdevelop

SpDevelop模版开发 之 Hello world - spdevelop SpDevelop V3.0发布 中国代码日志(www.Cnclog.com)正式开通! 数据实体层介绍 SpDevelop 数据库建模软件 终于把.Net的大部分开源项目整理出来 软件发布 SpDevelop混淆器(.Net版本) 计算机软件著作权登记办法 互联网著作权行政保护办法 GNU宣言 BSD许可问题 软件分类(自由软件、开放源代码软件、公共软件......) 有关开放源代码软件与商业软件知识产权的研究报告(上) 有关开放源代码软件与商业软件知识产权的研究报告(中) 有关开放源代码软件与商业软件知识产权的研究报告(下) 商业周刊:开源代码趋成熟 开源软件与商业软件知识产权报告全文 .net 技术站点
带有智能完成功能的万能查询分析器的开发心得
spdevelop · 2007-04-19 · via 博客园 - spdevelop

        使用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下载。