我正在维护一个旧的VB6应用程序,并希望直接在项目的一部分中包含SQL脚本.然后,VB6应用程序应该提取此脚本的文本并在服务器上执行它.
这种方法的原因是多种多样的 - 除其他外,我们希望只提供更新的可执行文件而不是完整的更新/安装包.因此,SQL脚本需要像资源文件一样编译到应用程序中.而且,显然,必须能够从代码中获取内容,以便将其发送到数据库服务器.
有没有人有一个很好的方法来做到这一点?
最简单的解决方案是创建一个VB模块,脚本为字符串.
如果您想使用资源文件,也可以这样做.您可以将resfile与VB项目相关联(我不记得如何在VB IDE中直接执行此操作,但VBP文件支持ResFile32参数).
编辑:这里的问题似乎主要是关于格式化 - 您不希望将SQL查询存储为一个长字符串,但在VB内部很好地格式化查询是繁琐的,因为您必须添加引号,添加字符串连接运算符以加入线条在一起等
我建议将SQL放在一个文本文件中,并以您喜欢的方式格式化它.编写一个脚本,将文本转换为VB模块.构建过程将被修改为在编译应用程序之前始终首先应用此脚本.
对于脚本,请使用您喜欢的脚本语言; 如果你没有喜欢的脚本语言,这是一个很容易的任务,你可以用VB,C#或任何其他语言来完成.如果是我,我可能会使用awk(gawk)或Python.