2

我从这个链接下载了存储过程生成器模板:

http://www.mygenerationsoftware.com/TemplateLibrary/Template/?id=10998336-5037-496c-a163-050060de065a

基本上,它通过读取模式生成 Insert、Update、Delete、Select 和 LoadByPrimaryKey 存储过程。

但是,当我运行它时它不起作用。我在这一行得到错误:

For Each objColumn In objTable.PrimaryKeys

我得到的错误是:

对象不支持此属性或方法

有人遇到过这个问题吗?我该如何解决这个问题?

4

3 回答 3

4

模板代码未通过枚举运行。不确定这是 MyGeneration 问题还是 VBScript 问题。无论如何,在这样的模板更改代码中:

For each objColumn In objTable.PrimaryKeys

改成:

For j=0 to objTable.PrimaryKeys.Count - 1
    Set objColumn = objTable.PrimaryKeys(j)

也有这样的代码实例:

For each objColumn In objTable.Columns

改成:

For j=0 to objTable.Columns.Count - 1
    Set objColumn = objTable.Columns(j)

这对我有用(Windows 7、.Net 4.0、Sql Server 2008 R2、MyGeneration 1.3.1.1)。

于 2012-09-24T19:31:48.953 回答
0

我试过了,它工作正常(mygeneration 1.3.9)。表是否有主键?我认为在“doodad”中需要生成存储过程。

如果所有模板都不起作用,请重新安装 myGeneration(这发生在我身上)。

于 2012-04-26T16:56:14.483 回答
0

如果您将模板脚本从 Microsoft / VB 脚本更改为 .NET,Windows 7 及更高版本中的 vbScript 会导致 MyGeneration 出现此问题。

它可能适用于您的代码,并且比更改所有 foreaches 更快。我在这里使用 C#,但 VB.NET 的代码格式与 VBScript 非常相似,因此除了单击模板配置句柄并将模板语言更改为 .NET 脚本之外,它可能无需修改即可工作。

执行此操作后 - 更改模板的名称和 GUID(按 NEWGUID) - GUID 是唯一标识符,如果您想知道您正在使用什么,您必须同时更改。

于 2015-02-12T16:38:36.000 回答