Передача данных JSON из Javascript в OPEN JSON MSSQL - PullRequest
0 голосов
/ 04 августа 2020

У меня есть набор JSON данных, которые можно увидеть в console.log из Javascript, в консоли это выглядит так:

0: {datum: "18:17:00 04.08.2020", winddir: "S", windspeed: "28.7", windgust: "27.8", temp: "17.2"}
1: {datum: "18:16:00 04.08.2020", winddir: "NW", windspeed: "51.5", windgust: "32.9", temp: "17.2"}
2: {datum: "18:15:00 04.08.2020", winddir: "N", windspeed: "52.5", windgust: "32.2", temp: "17.3"}
3: {datum: "18:14:00 04.08.2020", winddir: "W", windspeed: "38.8", windgust: "28.4", temp: "17.3"}
4: {datum: "18:13:00 04.08.2020", winddir: "NW", windspeed: "30.2", windgust: "36.3", temp: "17.2"}
5: {datum: "18:12:00 04.08.2020", winddir: "N", windspeed: "31.6", windgust: "29.5", temp: "17.3"}

Это javascript, который генерирует данные JSON:

<script type="text/javascript">

var table = document.getElementById("weather");
var tableArr = [];
for (var i = 1; i < 100; i++) {
    tableArr.push({
        datum: table.rows[i].cells[0].innerHTML,
        winddir: table.rows[i].cells[1].innerHTML,
        windspeed: table.rows[i].cells[2].innerHTML,
        windgust: table.rows[i].cells[6].innerHTML,
        temp: table.rows[i].cells[8].innerHTML,
        tempchill: table.rows[i].cells[9].innerHTML
    });
}
console.log(tableArr);
</script>

Это все хорошо, но теперь я хочу вставить их в базу данных MS SQL с помощью приведенного ниже vbscript asp call:

Set ObjRS = Server.CreateObject("ADODB.Recordset")
    SQL="DECLARE @json nvarchar(max) set @json ="& tableArr &" Select * FROM OPENJSON(@json) WITH (datum datetime, winddir nvarchar(50), windspeed decimal(10,2), windgust decimal(10,2), temp decimal(10,2), tempchill decimal (10,2))"
    Response.Write(SQL)
    ObjRS.Open SQL, ObjDb, adOpenStatic, adLockReadOnly

Когда я печатаю вызов SQL в HTML, этот «& tableArr &» пуст, поэтому вызов SQL завершается ошибкой. Этот вызов SQL предназначен только для просмотра данных в HTML, но если это сработает, я вставлю его напрямую в БД.

Спасибо за все подсказки !! Мартин

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...