2012-04-24 4 views
2

私は、このリンクからストアドプロシージャジェネレータテンプレートをダウンロード:スキーマを読み取ることによって、ストアドプロシージャを選択し、LoadByPrimaryKey、削除、基本的には挿入、更新を生成MyGenerationストアドプロシージャジェネレータテンプレートが機能しないのはなぜですか?

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

を。

ただし、実行すると機能しません。私は、この行でエラーが発生します。

For Each objColumn In objTable.PrimaryKeys 

と私が得るエラーは次のとおりです。

Object doesn't support this property or method

は、誰もがこの問題に直面していますか?これをどうやって解決するのですか?

答えて

4

テンプレートコードが列挙型で実行されていません。これがMyGeneration問題であるかVBScript問題であるかは不明です。いずれにせよ、このようなテンプレートの変更コードに:へ

For each objColumn In objTable.PrimaryKeys 

変更:

For each objColumn In objTable.Columns 

変更するには::

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

このようなコードの例もあります。

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)。

+0

クール! 5ヶ月後に質問に答えます! – Jack

0

私はそれを試しました、それは正しく動作しています(私の世代1.3.9)。 テーブルにプライマリキーがありますか?私はそれがストアドプロシージャを生成するために "doodad"で必要と思う。

すべてのテンプレートが機能しない場合は、myGenerationを再インストールしてください(これは私に起こりました)。

+0

プライマリキーのないテーブルのエラーメッセージは、 " - ERROR:Table '"&objTable.Name& "'プライマリキーが必要です。したがって、主キーのないテーブルではありません。 – dfrevert

0

テンプレートスクリプトをMicrosoft/VB Scriptから.NETに変更すると、Windows 7以降のvbScriptによってMyGenerationでこの問題が発生します。

あなたのコードで動作し、すべてのforeachを変更するよりも速くなる可能性があります。私はここでC#を使用していますが、VB.NETはVBScriptと非常によく似ていますので、テンプレートの設定ハンドルをクリックしてテンプレート言語を.NETスクリプトに変更する以外に変更することはできません。

これを実行した後 - テンプレートのNAMEとGUIDを変更します(NEWGUIDを押します)。 - あなたが作業していることを知りたい場合は、GUIDは一意の識別子です。

+0

男、あなたが言っていることを理解していません... –

関連する問題