0

さて、これはばかげているように見えるかもしれません。しかし、Visual Studio 2008 の C# で「インポート」を行う方法がわかりません。Java は知っていますが、C# は知りません。現在、ac# の本を読む時間がありません。だから、私はそれを正しくするためにいくつかの助けが必要です.

私はここでコードを使用しようとしていました - SSIS Getting Execute Sql Task result set object

DataTable dt = new DataTable();
OleDbDataAdapter oleDa = new OleDbDataAdapter();
oleDa.Fill(dt, Dts.Variables["User::objShipment"].Value);

そして、エラーが発生します-型または名前空間名 'OledDbDataAdapter' が見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)

Java スタイルのインポートを試みました。しかし、それは失敗しました。

using System.Data.OleDb::OleDbDataAdapter

以下に示す完全なコード-


using System;
using System.Data;
using Microsoft.SqlServer.Dts.Runtime;
using System.Windows.Forms;
using System.Data.OleDb;

namespace ST_LongCodeGoesHere.csproj
{

    [System.AddIn.AddIn("ScriptMain", Version = "1.0", Publisher = "", Description = "")]
    public partial class ScriptMain : Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTARTScriptObjectModelBase
    {
        #region VSTA generated code
        enum ScriptResults
        {
            Success = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Success,
            Failure = Microsoft.SqlServer.Dts.Runtime.DTSExecResult.Failure
        };
        #endregion

        //To see the comment here, look at beyond end of this code.

        public void Main()
        {
            // TODO: Add your code here
            DataTable table = new DataTable();
            OledDbDataAdapter oleDbA = new OleDbDataAdapter();
            Dts.TaskResult = (int)ScriptResults.Success;
        }
    }
}

コメントは -

   /*
            The execution engine calls this method when the task executes.
            To access the object model, use the Dts property. Connections, variables, events,
            and logging features are available as members of the Dts property as shown in the following examples.
        To reference a variable, call Dts.Variables["MyCaseSensitiveVariableName"].Value;
        To post a log entry, call Dts.Log("This is my log text", 999, null);
        To fire an event, call Dts.Events.FireInformation(99, "test", "hit the help message", "", 0, true);

        To use the connections collection use something like the following:
        ConnectionManager cm = Dts.Connections.Add("OLEDB");
        cm.ConnectionString = "Data Source=localhost;Initial Catalog=AdventureWorks;Provider=SQLNCLI10;Integrated Security=SSPI;Auto Translate=False;";

        Before returning from this method, set the value of Dts.TaskResult to indicate success or failure.

        To open Help, press F1.
    */
4

3 に答える 3

3

C# では、個々の型をインポートするのではなく、名前空間全体をインポートします。このようなものが動作するはずです:

using System.Data.OleDb;

...

OleDbDataAdapter oleDa = new OleDbDataAdapter();

または、次のようなタイプ エイリアスを作成することもできます。

using OleDbDataAdapter = System.Data.OleDb.OleDbDataAdapter;

参考文献

于 2013-10-21T06:16:26.727 に答える
0

ソリューション エクスプローラーで、ソリューションの下にある [参照] を見つけ、右クリックして [参照の追加] をクリックして System.Data を追加します。おそらく、インポートを次のように入力することもできます。

于 2013-10-21T06:17:53.407 に答える
0

これを見てください http://msdn.microsoft.com/en-us/library/vstudio/wkze6zky.aspx

  • 使用する前に、参照を追加する必要があります。
于 2013-10-21T06:23:15.430 に答える