Преобразование Foxpro в T-SQL

var i = 1; 
var option1 = 'test';
var option2 = 'test2';
var number = eval("option"+parseInt(i+1, 10)); 
console.log(number);

Вот он работает ... https://jsfiddle.net/ucp9jgnh/1/ Должен сделать трюк ... Не лучший способ это сделать, но это будет по крайней мере, работа

В этом примере опция2 является ответом ...

parseInt (i + 1, 10) ... эта часть будет убедиться, что это i (ваш цикл) +1 в математическом формате. Затем он добавляет это в текст «option», а eval () затем позволяет JS рассматривать его как переменную вместо строки.

Если вы измените var i = 0, вместо него будет выводиться «test» вместо «test2» из-за математики.

Вот что вы делали бы внутри своей петли ... Должно работать как есть:

var appendedThing = eval("option"+parseInt(i+1, 10));
item.appendChild(appendedThing);
0
задан LunchBox 18 January 2019 в 21:48
поделиться

1 ответ

Хорошо, вы хотите преобразовать его части, тогда «часть», которую вы запрашиваете, на практике соответствует:

Код Foxpro:

* Get the vendor code for case management hours
Select op_value ;
    FROM dbfs\am_opts ;
    WHERE op_code = "CMGT_VENDOR" ;
    INTO CURSOR cmgt_vndr
lcCMGTVendor = padr(cmgt_vndr.op_value, 4)

T-SQL:

declare @lcCMGTVendor char(20+4); -- if op_value size is char(20)
Select top(1) @lcCMGTVendor = op_value 
        FROM am_opts
        WHERE op_code = 'CMGT_VENDOR';

ИМХО padr () не было чем-то необходимым даже в коде foxpro. Выше кода в любом случае используйте char (20 + 4) вместо varchar () - поля foxpro имеют завершающие пробелы.

0
ответ дан Cetin Basoz 18 January 2019 в 21:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: