Как преобразовать многозначные данные подпрограммы U2 Business Logic в объекты.NET, такие как DataSet/DataTable, используя U2 Toolkit для.NET?

У меня есть следующая подпрограмма. Он принимает INPUT в качестве аргумента 1 и отправляет многозначные данные OUTPUT в качестве аргумента 2.

SUBROUTINE MV_TO_DATASET_SELECT_SUBROUTINE (ARG_INPUT, ARG_OUTPUT)

x = ARG_INPUT ARG_OUTPUT = "100": @ ВМ: "101": @ ВМ:"102":@ ВМ:"103":@FM:"Нанси": @ ВМ: "Эндрю": @ ВМ: "Джанет": @VM: "Маргарита":@FM:"01/06/1991":@VM:"06/07/1996":@VM:"11/08/1999":@VM:"12/10/2001"

ВЕРНУТЬ

Схема многозначных данных вышеприведенной подпрограммы представлена ​​ниже.

        DataSet ds = new DataSet();
        DataTable dt = new DataTable("Employee");
        ds.Tables.Add(dt);
        dt.Columns.Add("ID",typeof(Int32));
        dt.Columns.Add("Name", typeof(string));
        dt.Columns.Add("HireDate", typeof(DateTime));

1 ответ

Вы можете выполнить эту задачу одним из следующих способов:

  • Используйте MV_To_DataTable() и DataTable_To_MV(). Вы можете создать схему подпрограммы, перетаскивая Empty DataTable в Deginer Empty DataSet.
  • Перетаскивая подпрограмму U2 в Visual Studio Server Explorer в DataSet Designer. U2 Subrotine возвращает набор результатов / набор данных, выполняя API, например ST=SQLExecDirect(@HSTMT, "ВЫБРАТЬ F1 КАК COL1,F2 КАК COL2,F3 КАК COL3 ОТ @TMP SLIST 9 ORDER BY 1")

Используйте MV_To_DataTable() и DataTable_To_MV ()

Создать проект веб-приложения ASP.NET. Введите "Web Application_Subroutine" в Имя проекта.создать приложение ap.net

Добавить ссылку на сборку U2NETDK (U2.Data.Client)Добавить ссылку

Изменить заголовок "Добро пожаловать в ASP.NET!" 'Добро пожаловать в U2 Toolkit для.NET Demo on Business Logic Многозначные строковые данные подпрограммы в.NET DataSet!'изменить название

Откройте файл "Default.aspx" и перейдите в режим разработки.открыть веб-страницу в режиме дизайна

Сделайте следующее:

  • Drag and Drop Button Control. Назовите это "Загрузить"
  • Drag and Drop Button Control. Назовите это "Обновление"
  • Перетащите элемент управления GridView.

    кнопки перетаскивания

Щелкните правой кнопкой мыши на Solution Explorer. Выберите Add ->New Item-DataSet. В поле Имя введите "Employee.xsd"

новый предмет - набор данных

Перетащите DataTable в конструктор. Измените имя на "Таблица сотрудников".перетащите DataTable

Создайте 3 новых столбца (схема подпрограммы U2):

  • ID - DataType: INT
  • Имя - DataType: STRING
  • HireDate - DataType: DATEсоздать 3 колтип данных cols

Откройте файл "Default.aspx" в режиме разработки. Дважды щелкните "Кнопка загрузки". Это создаст Код обработчика событий позади.загрузить вечный обработчик

Вырежьте и вставьте следующий код.

protected void Button1_Click(object sender, EventArgs e)
        {
            U2ConnectionStringBuilder l = new U2ConnectionStringBuilder();
            l.Server = "127.0.0.1";
            l.UserID = "user";
            l.Password = "pass";
            l.Database = "HS.SALES";
            l.ServerType = "universe";
            string lconnstr = l.ToString();
            U2Connection c = new U2Connection();
            c.ConnectionString = lconnstr;
            c.Open();
            U2Command command = c.CreateCommand();
            command.CommandText = "CALL MV_TO_DATASET_SELECT_SUBROUTINE(?,?)";
            command.CommandType = CommandType.StoredProcedure;
            U2Parameter p1 = new U2Parameter();
            p1.Direction = ParameterDirection.InputOutput;
            p1.Value = "";
            p1.ParameterName = "@arg_input";
            command.Parameters.Add(p1);
            U2Parameter p2 = new U2Parameter();
            p2.Direction = ParameterDirection.InputOutput;
            p2.Value = "";
            p2.ParameterName = "@arg_output";
            command.Parameters.Add(p2);
            command.ExecuteNonQuery();

            Employee.EmployeeDataTable dt = new Employee.EmployeeDataTable();

            command.Parameters[1].MV_To_DataTable(dt);

            Session["GridDataset"] = dt;


            this.GridView1.DataSource = dt;
            this.GridView1.DataBind();
        }

код загрузки

Запустите приложение. Нажмите кнопку "Загрузить".

запустить приложение asp.net

Откройте файл "Default.aspx" в режиме разработки. Дважды нажмите кнопку "Обновить". Он создаст обработчик событий в коде за страницей. Вырежьте и вставьте следующий код.

        protected void Button2_Click(object sender, EventArgs e)
    {
        DataTable dt = (DataTable)Session["GridDataset"];

        //To TEST, change first row
        string s1 = (string)dt.Rows[0]["Name"];
        dt.Rows[0]["Name"] = s1 + "NewValue";


        // get the modified rows
        DataTable dt_changed = dt.GetChanges();

        //call DATASET_TO_MV_UPDATE_SUBROUTINE
        U2ConnectionStringBuilder l = new U2ConnectionStringBuilder();
        l.Server = "127.0.0.1";
        l.UserID = "user";
        l.Password = "pass";
        l.Database = "HS.SALES";
        l.ServerType = "universe";
        string lconnstr = l.ToString();
        U2Connection c = new U2Connection();
        c.ConnectionString = lconnstr;
        c.Open();
        U2Command command = c.CreateCommand();
        command.CommandText = "CALL DATASET_TO_MV_UPDATE_SUBROUTINE(?)";
        command.CommandType = CommandType.StoredProcedure;
        U2Parameter p1 = new U2Parameter();
        p1.Value = "";
        p1.Direction = ParameterDirection.InputOutput;
        p1.ParameterName = "@arg_data";
        command.Parameters.Add(p1);

        command.Parameters[0].DataTable_To_MV(dt_changed);

        // modified data going to subroutine
        string lData = (string)command.Parameters[0].Value;

        command.ExecuteNonQuery();
    }

обновить код

Смотрите измененное значение в отладчике, когда вы нажимаете кнопку "Обновить".отладчик

U2 Subrotine возвращает набор результатов / набор данных

Создайте соединение данных U2 в Visual Studio Server Explorer. Разверните узел процедур магазина.проводник сервера соединение u2

Перейдите к подпрограмме, которая возвращает набор результатов / набор данных. Перетащите подпрограмму в DataSet Designer. Он показывает аргумент INPUT и столбцы набора результатов / набора данных.

перетащить подпрограмму

Другие вопросы по тегам